java图形界面编程
发布时间:2025-05-25 03:53:10 发布人:远客网络
一、java图形界面编程
注意:applet不能直接用java命令运行
1、Javac welcome.java后生成welcome.class
2、在跟welcome.class同一级的目录下新建一个文本文件,并输入:
<applet code="welcome.class"
3、保存并将文件名改为welcome.html
(这个html文件的名字任意,在这边我用welcome)
4、在cmd中输入appletviewer welcome.html便可以看见你的applet了
或直接把这个welcome.html拖入浏览器运行,也可以有同样效果
是必要的格式,在里面可以输入许多参数,其中code,width,height是必须的
二、JAVA 图形界面编程问题
1、结构明白了,下面就是哪出的问题。
2、你感觉明明添加了,却不显示。有些不是看API文档或书能知道的,就得自己做一做。
3、AWT中添加组件能直接看的见的。但在swing中未必。
4、swing和AWT很多东西有细节差距的。swing下的GUI,凡是更改了UI的,一定要repaint,这是个原则问题。
5、你的问题就在于以为添加了组件就一定显示。在swing中是不成立的。
6、而且,虽然awt添加组件能直接显示,但绘制一样不会自动更新的。
7、所以,凡是更改了UI的,一定要repaint。
三、用Java语言设计一个界面,
java语言可以使用awt和swing等技术实现图形界面
推荐使用Swing,因为Swing比AWT更专业,更漂亮,组件更丰富,功能更强大。
边界布局BorderLayout,配合表格布局GridLayout,既简单又美观
3.最后:分析需求中需要用的组件
学生姓名学号显示信息需要用到文本框JTextField
单选按钮需要用到组件JRadioButton
publicclassClassFrameextendsJFrame{//写一个类继承自JFrame窗体
privatestaticfinallongserialVersionUID=1L;
privateJTextFieldtfName,tfNum,allInfo;
privateJComboBox<String>t1,t2,t3;
publicstaticvoidmain(String[]args){
EventQueue.invokeLater(newRunnable(){
ClassFrameframe=newClassFrame();//创建一个窗口实例
frame.setVisible(true);//让该窗口实例可见
*窗口属性的设置,内部组件的初始化
setTitle("选课ing...");//标题
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭是退出JVM
setSize(450,339);//设置窗体大小
setLocationRelativeTo(null);//窗体居中
contentPane=newJPanel();//内容面板
contentPane.setBorder(newEmptyBorder(5,5,5,5));
contentPane.setLayout(newBorderLayout(0,0));//设置布局
JPanelpanel=newJPanel(newGridLayout(5,1,5,10));//5行1列的表格布局
panel.setBorder(newTitledBorder(null,"",TitledBorder.LEADING,TitledBorder.TOP,null,null));
contentPane.add(panel,BorderLayout.CENTER);//给panel添加边框
JLabellabel=newJLabel("姓名");
JLabellabel_2=newJLabel("学号");
rb1.setSelected(true);//设置单选按钮中,默认选择的按钮
ButtonGroupbts=newButtonGroup();//单选按钮需要加入同一个ButonGroup中才能生效
cb1=newJCheckBox("高等数学");
t1=newJComboBox<String>();
t1.setModel(newDefaultComboBoxModel<String>(newString[]{"林老师","赵老师","孙老师"}));
cb2=newJCheckBox("世界经济");
t2=newJComboBox<String>();
t2.setModel(newDefaultComboBoxModel<String>(newString[]{"张老师","刘老师"}));
cb3=newJCheckBox("音乐赏析");
t3=newJComboBox<String>();
t3.setModel(newDefaultComboBoxModel<String>(newString[]{"王老师","周老师"}));
JButtonjbOk=newJButton("确定");
JButtonjbRest=newJButton("重填");
JPanelpanelSouth=newJPanel();
contentPane.add(panelSouth,BorderLayout.SOUTH);
JLabellabe=newJLabel("选课信息");
labe.setHorizontalAlignment(SwingConstants.LEFT);
JPanelpanelNorth=newJPanel();
contentPane.add(panelNorth,BorderLayout.NORTH);
JLabellabelTitle=newJLabel("学生选课界面");
labelTitle.setForeground(Color.DARK_GRAY);
labelTitle.setFont(newFont("宋体",Font.BOLD,20));
jbOk.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
StringBuilderinfo=newStringBuilder();
Stringt=t1.getSelectedItem().toString();
Stringt=t2.getSelectedItem().toString();
Stringt=t3.getSelectedItem().toString();
allInfo.setText(info.toString());//把学生信息和选课信息放到文本框
jbRest.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){