您当前的位置:首页 > 互联网教程

java图形界面编程

发布时间:2025-05-25 03:53:10    发布人:远客网络

java图形界面编程

一、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){