一個java項目中有3個窗體的簡單介紹

本文目錄一覽:

jform2–>jform3–>jform2,請問從jform3到jform2的代碼怎麼寫?’>一個java項目中有3個窗體,從jform1–>jform2–>jform3–>jform2,請問從jform3到jform2的代碼怎麼寫?

1到2,需要2的對象,2到3需要3的對象。 在3中加一個屬性,屬性類型就是2, 2在跳轉3的時候,產生3的對象,3對象.屬性(這個屬性是2類型)=this(這個this就是2本身),3打開後,3.屬性在打開,就回到2.

不知道你懂不懂,就是一個引用的傳遞,將自己傳過去,因為如果不傳自己,將打開新的窗體,不是之前的。

java中如何在三個窗體之間切換?

這只是一個監聽問題而已

假設窗體1的繪製方法是JFrame1(),窗體2的繪製方法是JFrame2(),窗體3的繪製方法是JFrame3();按鈕一次為go1,go2,back2,back3;

那麼監聽:

public void actionPerformed(ActionEvent e){//監聽

if(e.getSource()==go1) JFram2();//點擊窗體1的go就繪製窗體2

if(e.getSource()==go2) JFram3();//點擊窗體2的go就繪製窗體3

if(e.getSource()==back2) JFram1();//點擊窗體2的back就繪製窗體1

if(e.getSource()==back3) JFram2();//點擊窗體3的back就繪製窗體2

}

明白了?

java編程,設計一個窗體,要有三個部分(文本框、按鈕、標籤),按鈕內容輸出到文本框

package anfang;

import java.awt.*;

import java.awt.event.*;

public class example1 extends Frame{

Frame frm;

Button btn1,btn2,btn3,btn4;

TextField txt1,txt2,txt3;

public example1()

{

setLayout(null);

btn1 = new Button(“+”);

btn1.setLocation(55,55);

btn1.setSize(80,20);

class BtnClick implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

txt3.setText(“”+(Integer.parseInt(txt1.getText())+Integer.parseInt(txt2.getText())));

}

}

BtnClick bc=new BtnClick();

btn1.addActionListener(bc);

add(btn1);

btn2 = new Button(“-“);

btn2.setLocation(50,100);

btn2.setSize(80,20);

class BtnClick1 implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

txt3.setText(“”+(Integer.parseInt(txt1.getText())-Integer.parseInt(txt2.getText())));

}

}

BtnClick1 bc1=new BtnClick1();

btn2.addActionListener(bc1);

add(btn2);

btn3 = new Button(“*”);

btn3.setLocation(50,150);

btn3.setSize(80,20);

class BtnClick2 implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

txt3.setText(“”+Integer.parseInt(txt1.getText())*Integer.parseInt(txt2.getText()));

}

}

BtnClick2 bc2=new BtnClick2();

btn3.addActionListener(bc2);

add(btn3);

btn4 = new Button(“/”);

btn4.setLocation(50,200);

btn4.setSize(80,20);

class BtnClick3 implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

txt3.setText(“”+Integer.parseInt(txt1.getText())/Integer.parseInt(txt2.getText()));

}

}

BtnClick3 bc3=new BtnClick3();

btn4.addActionListener(bc3);

add(btn4);

txt1 = new TextField();

txt1.setLocation(200,60);

txt1.setSize(80,20);

add(txt1);

txt2 = new TextField();

txt2.setLocation(200,120);

txt2.setSize(80,20);

add(txt2);

txt3 = new TextField();

txt3.setLocation(200,180);

txt3.setSize(80,20);

add(txt3);

}

public static void main(String[] args) {

// TODO Auto-generated method stub

example1 frm=new example1();

frm.setSize(450,300);

frm.show();

}

}

100張票,用java多線程實現3個窗口按順序依次賣票,如何實現

很簡單, 出票里加鎖就行了完整代碼:

public class Test {

public static void main(String[] args) {

for(int i=0; i3; i++){

new Thread(“線程 ” + i){

public void run() {

while(true){

int p = getNumber();

if(p 0 ){

System.out.println(getName() + ” 票號: ” + p);

}else{

System.out.println(“沒票了”);

break;

}

}

};

}.start();

}

}

public static int num = 100; //總票數

/**

 * synchronized 同步鎖

 * @return

 */

public static synchronized int getNumber(){

if(num 0){

return num –; //如果大於0, 則返回當前票並減少一張

}

return 0;

}

}

java多線程問題:模擬10個人在3個窗口買票的過程

public class TicketsSystem {

public static void main(String[] args) {

SellThread st = new SellThread();

Thread th1 = new Thread(st);

th1.start();

Thread th2 = new Thread(st);

th2.start();

Thread th3 = new Thread(st);

th3.start();

}

}

class SellThread implements Runnable {

private int number=10;

String s = new String();

public void run() {

while (number 0) {

synchronized (s) {

System.out.println(“第” + number + “個人在”

+ Thread.currentThread().getName() + “買票”);

}

number–;

try {

Thread.sleep(10);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

}

synchronized (s)的s是synchronized 的參數,synchronized 的參數可以是任意對象,我定義了一個String類型的對象s,方便看程序而已。

但是要注意,s的定義一定要在run方法之外,不然還會出現負數。因為你啟動了3個線程,每個線程都調用了run方法,在每個線程就會在run方法裡邊產生自己的s對象,一共會產生3個,達不到同步的目的。

如果還有不明白的,可以繼續問。

JAVA創建一個窗體,3個組件 一個文本框 一個標籤 一個按鈕

Frame

f

=

new

Frame();

//創建一個

窗體

f.setBounds(200,200,400,300);

//設置一個在(200,200)

坐標

起點

,寬400高300的窗體

TextField

tf

=

new

TextField();

//創建一個

文本框

Label

l

=

new

label(“標籤名”);

Button

btn

=

new

Button(“按鈕”);

//向窗體添加3個

組件

f.add(tf);

f.add(l);

f.add(btn);

f.setVisiable(true);

//設置可見

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/279552.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-20 15:04
下一篇 2024-12-20 15:04

相關推薦

  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • 掌握magic-api item.import,為你的項目注入靈魂

    你是否曾經想要導入一個模塊,但卻不知道如何實現?又或者,你是否在使用magic-api時遇到了無法導入的問題?那麼,你來到了正確的地方。在本文中,我們將詳細闡述magic-api的…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的“畫筆”在窗口中繪製…

    編程 2025-04-29
  • 如何將Java項目分成Modules並使用Git進行版本控制

    本文將向您展示如何將Java項目分成模塊,並使用Git對它們進行版本控制。分割Java項目可以使其更容易維護和拓展。Git版本控制還可以讓您跟蹤項目的發展並協作開發。 一、為什麼要…

    編程 2025-04-28
  • GitHub好玩的開源項目

    本文旨在介紹GitHub上一些好玩的開源項目,並提供代碼示例供讀者參考和學習。 一、Emoji列表 GitHub上有一份完整的Emoji列表,它支持各種平台和設備,方便用戶在Git…

    編程 2025-04-28
  • Python櫻花樹代碼簡單

    本文將對Python櫻花樹代碼進行詳細的闡述和講解,幫助讀者更好地理解該代碼的實現方法。 一、簡介 櫻花樹是一種圖形效果,它的實現方法比較簡單。Python中可以通過turtle這…

    編程 2025-04-28
  • Django框架:從簡介到項目實戰

    本文將從Django的介紹,以及如何搭建Django環境開始,逐步深入到Django模型、視圖、模板、表單,最後通過一個小型項目實戰,進行綜合性的應用,讓讀者獲得更深入的學習。 一…

    編程 2025-04-28
  • Python大神作品:讓編程變得更加簡單

    Python作為一種高級的解釋性編程語言,一直被廣泛地運用於各個領域,從Web開發、遊戲開發到人工智能,Python都扮演着重要的角色。Python的代碼簡潔明了,易於閱讀和維護,…

    編程 2025-04-28
  • IIS部署Python項目

    本文將從多個方面詳細闡述在IIS上如何部署Python項目。包括安裝IIS、安裝Python、配置IIS、編寫和部署Python代碼等內容。 一、安裝IIS和Python 在開始進…

    編程 2025-04-28

發表回復

登錄後才能評論