java有什么控件吗 java的容器控件有哪些
大家好,今天小编来为大家解答以下的问题,关于java有什么控件吗,java的容器控件有哪些这个很多人还不知道,现在让我们一起来看看吧!
java代码的打印信息控件怎么做或者有现成的代码也行。
一:首先理清业务逻辑
两个窗口,第一个主窗口,是用于填写信息的,点击按钮后,跳转到第二个窗口,.
第二个对话框窗口,用于显示需要打印的信息,以及打印到文档
二:确定需要的技术, java图像界面主要使用awt和swing
swing里面的控件比较丰富,且功能强大.
三:效果图片
四:完整的参考代码
importjava.awt.*;
importjava.awt.event.*;
importjava.io.*;
importjavax.swing.*;
//定义一个主窗口类
publicclassMainFrameextendsJFrame{
publicstaticfinalStringFILE_PATH="c:\\print.txt";//常量,用于指定信息的保存路径
//定义主要的组件
privatefinalJTextFieldjtf1,jtf2,jtf3;
privatefinalJCheckBoxjcb1,jcb2,jcb3;
privatefinalJRadioButtonjrb1,jrb2;
publicMainFrame(){
setTitle("信息提交窗口");//设置窗口标题
setSize(350,320);//设置窗口大小
setLocationRelativeTo(null);//让窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);//当主窗口关闭的时候退出jvm虚拟机
JPaneljp=newJPanel(newGridLayout(5,1,2,1));//定义主显示面板,布局为表格布局5行1列,水平间距2,垂直间距1
JPaneljp1=newJPanel();//第一行的组件面板
JLabeljl1=newJLabel("姓名");
jtf1=newJTextField(10);
jp1.add(jl1);
jp1.add(jtf1);
JPaneljp2=newJPanel();//第二行的组件面板
JLabeljl2=newJLabel("学号");
jtf2=newJTextField(10);
jp2.add(jl2);
jp2.add(jtf2);
JPaneljp3=newJPanel();//第三行的组件面板
JLabeljl3=newJLabel("性别");
jrb1=newJRadioButton("男");
jrb2=newJRadioButton("女");
jrb1.setSelected(true);
ButtonGroupbgs=newButtonGroup();
bgs.add(jrb1);
bgs.add(jrb2);
jp3.add(jl3);
jp3.add(jrb1);
jp3.add(jrb2);
JPaneljp4=newJPanel();//第四行的组件面板
JLabeljl4=newJLabel("选择爱好");
jcb1=newJCheckBox("游泳");
jcb2=newJCheckBox("篮球");
jcb3=newJCheckBox("跑步");
jp4.add(jl4);
jp4.add(jcb1);
jp4.add(jcb2);
jp4.add(jcb3);
JPaneljp5=newJPanel();//第五行的组件面板
JLabeljl5=newJLabel("自我介绍");
jtf3=newJTextField(22);
jp5.add(jl5);
jp5.add(jtf3);
//添加到主显示面板
jp.add(jp1);
jp.add(jp2);
jp.add(jp3);
jp.add(jp4);
jp.add(jp5);
jp.setBorder(BorderFactory.createTitledBorder("填写资料"));//设置主显示面板的边框
JButtonjb=newJButton("跳转到打印页");
jb.addActionListener(newActionListener(){//按钮事件
publicvoidactionPerformed(ActionEvente){//获取组件的信息
StringBuildersb=newStringBuilder();//用于连接信息
Stringname=jtf1.getText();
sb.append("姓名:"+name+"\r\n");
Stringnum=jtf2.getText();
sb.append("学号:"+num+"\r\n");
Stringsex;
if(jrb1.isSelected()){
sex="男";
}else{
sex="女";
}
sb.append("性别:"+sex+"\r\n");
Stringaihao="";
if(jcb1.isSelected()){
aihao+=jcb1.getText();
}
if(jcb2.isSelected()){
aihao+=""+jcb2.getText();
}
if(jcb3.isSelected()){
aihao+=""+jcb3.getText();
}
sb.append("爱好:"+aihao+"\r\n");
Stringjieshao=jtf3.getText();
sb.append("自我介绍:"+jieshao+"\r\n");
newPrintDailog(sb.toString(),FILE_PATH).setVisible(true);//打开打印页面,并设置为可见
}
});
getContentPane().add(newJLabel("信息填写",JLabel.CENTER),BorderLayout.NORTH);
getContentPane().add(jp);
getContentPane().add(jb,BorderLayout.SOUTH);
}
publicstaticvoidmain(String[]args){
newMainFrame().setVisible(true);
}
}
//定义一个对话框窗口类
classPrintDailogextendsJDialog{
Stringinfo;//用于接受信息
StringfilePath;//文档的路径
privatefinalJLabeljl2;
publicPrintDailog(Stringinfo,finalStringfilePath){
this.info=info;
this.filePath=filePath;
setModal(true);//模态为真,如果不关闭这个对话框,那么无法点击其他窗口
setTitle("信息打印页");//设置打印窗口的标题
setSize(300,320);//设置打印窗口的大小
setLocationRelativeTo(null);//设置打印窗口居中
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);//当点击关闭按钮时,该窗口销毁
JLabeljl1=newJLabel("信息打印显示",JLabel.CENTER);
JTextAreajta=newJTextArea(info);
jta.setEditable(false);//不可编辑
jta.setLineWrap(true);//自动换行
JScrollPanejsp=newJScrollPane(jta);
jsp.setBorder(BorderFactory.createTitledBorder("信息"));
JButtonjb1=newJButton("打印");
JPaneljp=newJPanel(newGridLayout(2,1));
JPaneljp1=newJPanel();
jp1.add(jb1);
JPaneljp2=newJPanel();
jl2=newJLabel();
jp2.add(jl2);
jp.add(jp1);
jp.add(jp2);
add(jl1,BorderLayout.NORTH);
add(jsp);
add(jp,BorderLayout.SOUTH);
jb1.addActionListener(newActionListener(){//点击打印的按钮的事件
publicvoidactionPerformed(ActionEvente){
saveToFile();//信息打印到了文档
jl2.setText("信息已经打印到"+filePath);//显示出来
jl2.setForeground(Color.RED);//为了醒目设置颜色为红色
}
});
}
privatevoidsaveToFile(){//该方法用于保存信息到文档
try{
BufferedWriterbw=newBufferedWriter(newOutputStreamWriter(newFileOutputStream(filePath),"UTF-8"));
bw.write(info);
bw.close();
}catch(Exceptione){
e.printStackTrace();
}
}
}
五:拓展
java制作图像界面比较简单,只需要熟练的掌握三大布局(流布局表格布局边界布局)和常用组件,就能制作出比较复杂的界面.所以理清业务逻辑,才是重点
现在学java好还是.net好
net和java很类似,主要应用都是面向对象类web技术,相比之下,Java的应用还要更宽泛些。如今,无论是在待遇还是前景上,.net都不如java。一般Java程序员的待遇比.net的高2成左右,而在高级工程师中,java的待遇要更高。许多.net的程序员的薪酬待遇一旦达到10000,便很难再突破了,而java则还有提升空间。
JAVA语言发明已有10年历史,在IBM、SUN等公司的推动下已经比较稳定与成熟,获得了大规模企业的普遍应用。时至今日,已经发展成为一个覆盖面广,效率高,易用性强的技术平台,吸引了400万开发者,在网络技术遍及全球的的今天,更有17.5亿台设备使用JAVA技术.同时, Mustang版本的J2EE正在紧锣密鼓的开发当中,按照惯例,每2年将发布一个全新的J2SE版本,所以Mustang开发版对应的J2SE6.0版本将在2006年底完成.对于开发人员来说.从技术难度角度,由JAVA开发转.NET或其它软件的开发较为容易.
NET则是微软公司目前主推的开发平台,是微软未来操作系统以及长远战略的基础。对于软件开发人员来讲,.NET的技术相对简单,入门较快。由于.NET拥有易学易用、开发迅速的特性,随着它的成熟和完善,使其受到越来越多企业的青睐。北美一些大型企业(如加拿大Royal Bank, Scotia Bank)纷纷将应用平台迁移到.NET摆脱了技术只适合于中小企业的阴影。近一年来,NET在国内先后被众多企业采用,取得了惊人的发展.NET作为企业应用开发技术与平台,使用NET项目之企业数量快速增长,甚至与JAVA一样被银行业、电信业所采用。
java的容器控件有哪些
1.顶层容器
什么是顶层容器?当我们使用Java进行图形编程的时候,图在哪里绘制呢?我们需要一个能够提供图形绘制的容器,这个容器就被称为顶层容器,你
也可以把它想象成一个窗口。顶层容器是进行图形编程的基础,一切图形化的东西,都必然包括在顶层容器中。在Swing中,我们有三种可以使用的顶层容器,
它们分别是:
JFrame:用来设计类似于Windows系统中的窗口形式的应用程序。
JDialog:和JFrame类似,只不过JDialog是用来设计对话框。
JApplet:用来设计可以在嵌入在网页中的Java小程序。
如果需要使用Swing制作一个窗口类程序,我们的代码看起来应该是这样:
import javax.swing.*;
public class KyodaiUI
extends JFrame{
……
}
2.控件
控件是构成应用程序界面的基本元素,按钮、文本框、进度条等,这些都是控件。控件(这里我们只讨论可视化控件)又可以分为容器控件和非容器控件。从字面
意义上来理解,容器控件就是能包含其他控件的特殊控件,例如,Java中的JPanel控件就属于容器型控件,我们可以在JPanel中放置按钮、文本框
等非容器控件,你甚至可以在JPanel中再放置若干个JPanel控件(值得注意的是,顶层容器也是容器型控件,每一个窗口应用程序中有且只能有一个顶
层容器控件,换句话说,顶层容器不能包括在其他的控件中)。
Java中的容器控件有很多,除刚才提到的JPanel外,还有
JTabbedPane、JScrollPane等,非容器控件有JButton、JLabel、JTextField等。如果你需要向某个容器型的控件
中添加控件,你可以使用 add(Component comp)方法来实现,如:
JPanel panel= new JPanel();
JButton button= new JButton();
panel.add(button);
3.边框
虽然我们使用了不同前景色来区别不同的区域,然而却没有层次感,加上边框一定会漂亮许多。
在Java中,所有以J打头的Swing控件都可以使用setBorder方法来为自己设置边框。边框有很多种,线型、凸起、凹下、空的,你甚至可以自
java有什么控件吗和java的容器控件有哪些的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!