本文目錄一覽:
java怎麼實現圖形化界面
java圖形化界面還是有很多內容要學習的,可以參考 如下實例:
public class Test extends JFrame{
MyPanel mp=null;
public static void main(String[] args){
// TODO Auto-generated method stub
Test jf= new Test();
}
public Test(){
mp=new MyPanel();
this.add(mp);
//設置標題
this.setTitle(“繪圖”);
//設置窗體大小
this.setSize(400, 300);
//設置窗體的位置
this.setLocation(100,100);
//限制窗體的大小
this.setResizable(false);
//關閉窗體時,同時退出java虛擬機
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//顯示窗體
this.setVisible(true);
}
}
//定義一個MyPanel(我自己的面板,用於繪圖和實現繪圖區域)
class MyPanel extends JPanel
{
//覆蓋JPanel的paint方法
//Graphics是繪圖的重要類,可以把它理解成一隻畫筆
public void paint(Graphics g)
{
//1。調用父類函數完成初始化
super.paint(g);
// //畫圓
// g.drawOval(100, 100, 20, 20);
// //畫直線
// g.drawLine(50, 150,150, 200);
// //畫矩形邊框
// g.drawRect(150, 150, 30, 40);
//
// //設置顏色。默認為黑色
// g.setColor(Color.blue);
// //填充矩形
// g.fillRect(10, 10, 20, 30);
//畫弧形
g.drawArc(200,10, 100,150, 120,-80);
//在面板上畫圖片
Image im=Toolkit.getDefaultToolkit().getImage(Panel.class.getResource(“圖片路徑”));
//顯示圖片
g.drawImage(im, 10, 10,200,180,this);
//畫字
g.setColor(Color.red);
g.setFont(new Font(“華文彩雲”,Font.BOLD,20));
g.drawString(“要寫的字”, 80,220);
}
}
Java編寫一個圖形界面
我覺得還是我的好些。。。
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.FileOutputStream;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
public class TestSwing extends JFrame{
private JLabel label1, label2, label3, label4,label5,label6,label7;
private JPanel panel,panel1,panel2;
private JTextField tField1,tField2,tField3,tField4,tField5,tField6,tField7,tField8,tField9;
private JButton button;
private String filepath=”c:\\info.dat”;
public TestSwing(){
init();
this.setSize(300, 280);
this.setLocation(
(Toolkit.getDefaultToolkit().getScreenSize().width – this
.getSize().width) / 2,
(Toolkit.getDefaultToolkit().getScreenSize().height – this
.getSize().height) / 2);
this.setResizable(false);
this.setVisible(true);
this.setTitle(“info”);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void init(){
initPanel();
initLabel();
initTextField();
initButton();
initContent();
}
private void initContent(){
panel1.add(label1);
panel1.add(tField1);
panel1.add(label2);
panel1.add(tField2);
panel1.add(label3);
panel1.add(tField3);
panel1.add(label4);
panel1.add(tField4);
panel1.add(label5);
panel1.add(tField5);
panel1.add(label6);
panel1.add(tField6);
panel1.add(label7);
panel1.add(tField7);
panel1.add(tField8);
panel1.add(tField9);
panel2.add(button);
panel.add(panel1,BorderLayout.CENTER);
panel.add(panel2,BorderLayout.SOUTH);
getContentPane().add(panel);
}
private void initPanel(){
panel = new JPanel();
panel.setLayout(new FlowLayout());
panel.setBackground(Color.WHITE);
panel1 = new JPanel();
GridLayout upLayout = new GridLayout(8, 2);
panel1.setLayout(upLayout);
panel2 = new JPanel();
panel2.setLayout(new FlowLayout());
}
private void initLabel(){
label1 = new JLabel(“IP地址”, SwingConstants.LEFT);
label2 = new JLabel(“端口”, SwingConstants.LEFT);
label3 = new JLabel(“訪問地址”, SwingConstants.LEFT);
label4 = new JLabel(“XXXXX”, SwingConstants.LEFT);
label5 = new JLabel(“XXXXX”, SwingConstants.LEFT);
label6 = new JLabel(“XXXXX”, SwingConstants.LEFT);
label7 = new JLabel(“XXXXX”, SwingConstants.LEFT);
}
private void initTextField(){
tField1 = new JTextField(10);
tField2 = new JTextField(10);
tField3 = new JTextField(10);
tField4 = new JTextField(10);
tField5 = new JTextField(10);
tField6 = new JTextField(10);
tField7 = new JTextField(10);
tField8 = new JTextField(10);
tField9 = new JTextField(10);
}
private void initButton(){
button = new JButton(“完成”);
button.addMouseListener(new MouseAdapter(){
//左鍵點擊
public void mouseClicked(MouseEvent e) {
String ipv = tField1.getText().trim();
String portv = tField2.getText().trim();
String addrv = tField3.getText().trim();
String xx1v = tField4.getText().trim();
String xx2v = tField5.getText().trim();
String xx3v = tField6.getText().trim();
String xx4v = tField7.getText().trim();
String inputx = tField8.getText().trim();
String inputxv = tField9.getText().trim();
createFile(ipv, portv, addrv, xx1v, xx2v, xx3v, xx4v, inputx, inputxv);
JOptionPane.showMessageDialog(null, “保存成功”);
tField1.setText(“”);
tField2.setText(“”);
tField3.setText(“”);
tField4.setText(“”);
tField5.setText(“”);
tField6.setText(“”);
tField7.setText(“”);
tField8.setText(“”);
tField9.setText(“”);
}
});
}
public static void main(String[]args){
new TestSwing();
}
private void createFile(String ipv,String portv ,String addrv,String xx1v,String xx2v,String xx3v,String xx4v,String inputx,String inputxv){
StringBuffer context = new StringBuffer();
context.append(“ip=”).append(ipv).append(“\n”);
context.append(“port=”).append(portv).append(“\n”);
context.append(“addr=”).append(addrv).append(“\n”);
context.append(“xx1=”).append(xx1v).append(“\n”);
context.append(“xx2=”).append(xx2v).append(“\n”);
context.append(“xx3=”).append(xx3v).append(“\n”);
context.append(“xx4=”).append(xx4v).append(“\n”);
context.append(inputx).append(“=”).append(inputxv).append(“”);
FileOutputStream fos = null;
try {
fos = new FileOutputStream(filepath);
fos.write(context.toString().getBytes());
} catch (Exception e) {
} finally {
if (fos != null)
try {
fos.close();
} catch (Exception e) {
}
}
}
}
Java編寫圖形用戶界面程序
運行如圖
參考代碼如下
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class RegDemo extends JFrame implements ActionListener{
JTextField jtf;
JPasswordField jpf;
public RegDemo() {
//組件的創建, 和布局安排
JPanel jpc = new JPanel();//默認流式布局
JPanel jp1 = new JPanel(new GridLayout(2, 2,5,10));//網格布局
jp1.setBorder(BorderFactory.createTitledBorder(“用戶註冊”));
JLabel jl1 = new JLabel(“用戶名:”);
jtf = new JTextField(10);
JLabel jl2 = new JLabel(“密碼:”);
jpf = new JPasswordField(10);
jpf.setEchoChar(‘*’);//用*號來隱藏密碼的顯示
jp1.add(jl1);jp1.add(jtf);
jp1.add(jl2);jp1.add(jpf);
jpc.add(jp1);
add(jpc);
JButton jb1 = new JButton(“提交”);
jb1.addActionListener(this);
jb1.setActionCommand(“yes”);
JButton jb2 = new JButton(“取消”);
jb2.addActionListener(this);
jb2.setActionCommand(“no”);
JPanel jp2 = new JPanel();
jp2.add(jb1);jp2.add(jb2);
add(jp2,BorderLayout.SOUTH);
setTitle(“用戶註冊界面”);
setSize(280, 280);
setLocationRelativeTo(null);//窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);//
setVisible(true);
}
public static void main(String[] args) {
new RegDemo();
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals(“yes”)){
String name = jtf.getText().trim();
String pwd = new String(jpf.getPassword());
if(name.equals(“”)||pwd.equals(“”)){
JOptionPane.showMessageDialog(this, “你還沒有輸入用戶名或者密碼”);
}else{
JOptionPane.showMessageDialog(this, “註冊成功!用戶名”+name+”,密碼”+pwd);
}
}else{
jtf.setText(“”);
jpf.setText(“”);
}
}
}
在java中,設計圖形用戶界面需要經歷哪幾個基本步驟
1, 分析業務需求, 理順業務邏輯
2, 根據業務需要考慮使用何種容器(JFrame ,Frame ,JWindow..) 需要的數量.
3, 每個容器(窗口)使用組件
4.組件使用何種布局方式(邊界布局,絕對布局,網格布局..),排列在容器(窗口)中
5.組件中需要響應那些事件, 把事件響應代碼寫好,然後綁定到組件上(addListener…)
6.調試,測試
原創文章,作者:OOVNR,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/325238.html