首页编程java编程java编写图形界面程序 java漂亮界面编程

java编写图形界面程序 java漂亮界面编程

编程之家2026-05-19864次浏览

大家好,关于java编写图形界面程序很多朋友都还不太明白,今天小编就来为大家分享关于java漂亮界面编程的知识,希望对各位有所帮助!

java编写图形界面程序 java漂亮界面编程

java图形界面编程

因为这是个applet不能直接运行

注意:applet不能直接用java命令运行

方法(步骤):

1、Javac welcome.java后生成welcome.class

2、在跟welcome.class同一级的目录下新建一个文本文件,并输入:

<applet code="welcome.class"

java编写图形界面程序 java漂亮界面编程

width=320 height=180>

</applet>

3、保存并将文件名改为welcome.html

(这个html文件的名字任意,在这边我用welcome)

4、在cmd中输入appletviewer welcome.html便可以看见你的applet了

或直接把这个welcome.html拖入浏览器运行,也可以有同样效果

5、现在我解释一下上面的代码:

<applet>

</applet>

是必要的格式,在里面可以输入许多参数,其中code,width,height是必须的

code:欲运行的class的名字

width:applet窗口的宽度

height: applet窗口的高度

JAVA 图形界面编程问题

给你说下调用次序你就知道了。

按缩进。

主函数

构造TestAddButton实例

init();

jpanel=new JPanel();

this.add(jpanel);

this.setSize(400,400);

注册鼠标事件监听

显示TestAddButton实例

然后在鼠标事件触发:

addButton

添加按钮的代码

结构明白了,下面就是哪出的问题。

你感觉明明添加了,却不显示。有些不是看API文档或书能知道的,就得自己做一做。

AWT中添加组件能直接看的见的。但在swing中未必。

swing和AWT很多东西有细节差距的。swing下的GUI,凡是更改了UI的,一定要repaint,这是个原则问题。

你的问题就在于以为添加了组件就一定显示。在swing中是不成立的。

而且,虽然awt添加组件能直接显示,但绘制一样不会自动更新的。

所以,凡是更改了UI的,一定要repaint。

JAVA的图形用户界面代码

package hao;

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.Dimension;

import java.awt.GridLayout;

import java.io.File;

import javax.swing.BorderFactory;

import javax.swing.Box;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JComboBox;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;

import javax.swing.JTextPane;

import javax.swing.text.BadLocationException;

import javax.swing.text.SimpleAttributeSet;

import javax.swing.text.StyleConstants;

import javax.swing.text.StyledDocument;

public class ChatPanel extends JPanel{

private static final long serialVersionUID= 1L;

JButton send,record,saveRecord,image;

JTextArea inputArea;

JTextPane text;//注意用法****************************************************************************

JComboBox fontName= null, fontSize= null, fontStyle= null, fontColor= null,fontBackColor= null;

public StyledDocument doc= null; JScrollPane scrollPane;JPanel textChat;

JButton music;

public ChatPanel(){

setLayout(new BorderLayout());

text= new JTextPane();

text.setEditable(false);

doc= text.getStyledDocument();//跟踪文本和图片写到该区域的位置*************************************

scrollPane= new JScrollPane(text);

//注意下面对JComboBox的巧用***********************************************************************

String[] str_name={"宋体","黑体","Dialog","Gulim"};

String[] str_Size={"12","14","18","22","30","40"};

String[] str_Style={"常规","斜体","粗体","粗斜体"};

String[] str_Color={"黑色","红色","蓝色","黄色","绿色"};

String[] str_BackColor={"无色","灰色","淡红","淡蓝","淡黄","淡绿"};

fontName= new JComboBox(str_name);

fontSize= new JComboBox(str_Size);

fontStyle= new JComboBox(str_Style);

fontColor= new JComboBox(str_Color);

fontBackColor= new JComboBox(str_BackColor);

fontName.setBackground(new Color(255,153,255));

fontSize.setBackground(new Color(255,153,255));

fontStyle.setBackground(new Color(255,153,255));

fontColor.setBackground(new Color(255,153,255));

fontBackColor.setBackground(new Color(255,153,255));

Box box= Box.createVerticalBox();//创建一个可以容纳多个Box组件的Box*******************************

Box box_1= Box.createHorizontalBox();

Box box_2= Box.createHorizontalBox();

Box box_4= Box.createHorizontalBox();

box.add(box_1);

box.add(box_2);

box.add(box_4);

JLabel b1= new JLabel("字体~~"), b2= new JLabel("样式~~"),b3= new JLabel("字号~~"),b4= new JLabel("颜色~~"),b5= new JLabel("背景~~");

b1.setBackground(new Color(255,153,255));

b2.setBackground(new Color(255,153,255));

b3.setBackground(new Color(255,153,255));

b4.setBackground(new Color(255,153,255));

b5.setBackground(new Color(255,153,255));

box_1.add(b1);

box_1.add(fontName);

box_1.add(Box.createHorizontalStrut(8));

box_1.add(b2);

box_1.add(fontStyle);

box_1.add(Box.createHorizontalStrut(8));

box_1.add(b3);

box_1.add(fontSize);

box_2.add(Box.createHorizontalStrut(8));

box_2.add(b4);

box_2.add(fontColor);

box_2.add(Box.createHorizontalStrut(8));

box_4.add(b5);

box_4.add(fontBackColor);

textChat= new JPanel();

textChat.setLayout(new BorderLayout());

textChat.setBackground(new Color(255,153,255));

inputArea= new JTextArea(3, 20);

inputArea.setLineWrap(true);//设置文本区的换行策略。88888*********************************

send= new JButton("发送");

record=new JButton("显示记录");

saveRecord=new JButton("储存记录");

image=new JButton("表情");

send.setBackground(new Color(255,153,255));

record.setBackground(new Color(255,153,255));

saveRecord.setBackground(new Color(255,153,255));

image.setBackground(new Color(255,153,255));

Box box_3= Box.createHorizontalBox();

box_3.add(send); box_3.add(Box.createHorizontalStrut(8));//设置按钮间距*************************888

box_3.add(record); box_3.add(Box.createHorizontalStrut(8));//设置按钮间距*************************888

box_3.add(saveRecord); box_3.add(Box.createHorizontalStrut(8));//设置按钮间距*************************888

box_3.add(image);

box.setBorder(BorderFactory.createLineBorder(new Color(102,102,0),5));//设置Box的边框线********************

box_3.setBorder(BorderFactory.createLineBorder(new Color(102,102,0),5));

textChat.add(box,BorderLayout.NORTH);

textChat.add(inputArea,BorderLayout.CENTER);

textChat.add(box_3, BorderLayout.SOUTH);

inputArea.requestFocus(true);

inputArea.setBorder(BorderFactory.createLineBorder(new Color(102,102,0),5));//设置输入窗口边框线*******************

text.setBorder(BorderFactory.createLineBorder(new Color(102,102,0),8));//设置输入窗口边框线*******************

JPanel audioPanel= new JPanel();//最上面的边框************************************************************************

audioPanel.setBackground(new Color(255,153,255));

audioPanel.setLayout(new GridLayout(1,1));

music= new JButton("想听就听");

music.setPreferredSize(new Dimension(320,50));

music.setBorder(BorderFactory.createLineBorder(Color.BLACK,10));//设置输入窗口边框线*******************

audioPanel.add(music);

add(audioPanel, BorderLayout.NORTH);

add(scrollPane,BorderLayout.CENTER);

add(textChat, BorderLayout.SOUTH);

}

void insertIcon(ImageIcon image){

text.setCaretPosition(doc.getLength());

text.insertIcon(image);

insert(new MessageStyle());//?????????????????????????????????????????????????????????????????????????????/

}

public void insert(MessageStyle attrib){

try{

doc.insertString(doc.getLength(), attrib.getText()+"\n", attrib.getAttrSet());//写完后接着换行************

} catch(BadLocationException e){

e.printStackTrace();

}

}

public MessageStyle getMessageStyle(String line){

MessageStyle att= new MessageStyle();

att.setText(line);

att.setName((String) fontName.getSelectedItem());

att.setSize(Integer.parseInt((String) fontSize.getSelectedItem()));

String temp_style=(String) fontStyle.getSelectedItem();

if(temp_style.equals("常规")){

att.setStyle(MessageStyle.GENERAL);

}

else if(temp_style.equals("粗体")){

att.setStyle(MessageStyle.BOLD);

}

else if(temp_style.equals("斜体")){

att.setStyle(MessageStyle.ITALIC);

}

else if(temp_style.equals("粗斜体")){

att.setStyle(MessageStyle.BOLD_ITALIC);

}

String temp_color=(String) fontColor.getSelectedItem();

if(temp_color.equals("黑色")){

att.setColor(new Color(0, 0, 0));

}

else if(temp_color.equals("红色")){

att.setColor(new Color(255, 0, 0));

}

else if(temp_color.equals("蓝色")){

att.setColor(new Color(0, 0, 255));

}

else if(temp_color.equals("黄色")){

att.setColor(new Color(255, 255, 0));

}

else if(temp_color.equals("绿色")){

att.setColor(new Color(0, 255, 0));

}

String temp_backColor=(String) fontBackColor.getSelectedItem();

if(!temp_backColor.equals("无色")){

if(temp_backColor.equals("灰色")){

att.setBackColor(new Color(200, 200, 200));

}

else if(temp_backColor.equals("淡红")){

att.setBackColor(new Color(255, 200, 200));

}

else if(temp_backColor.equals("淡蓝")){

att.setBackColor(new Color(200, 200, 255));

}

else if(temp_backColor.equals("淡黄")){

att.setBackColor(new Color(255, 255, 200));

}

else if(temp_backColor.equals("淡绿")){

att.setBackColor(new Color(200, 255, 200));

}

}

return att;

}

}

文章分享结束,java编写图形界面程序和java漂亮界面编程的答案你都知道了吗?欢迎再次光临本站哦!

学编程那种语言更好,编程语言有哪些ai智能助手在线使用?免费在线使用的无需登录注册的AI助手有哪些