java圖形化界面,JAVA圖形化界面運行結果不顯示

本文目錄一覽:

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
OOVNR的頭像OOVNR
上一篇 2025-01-13 13:23
下一篇 2025-01-13 13:23

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論