本文目錄一覽:
- 1、jform2–>jform3–>jform2,請問從jform3到jform2的代碼怎麼寫?’ title=’一個java項目中有3個窗體,從jform1–>jform2–>jform3–>jform2,請問從jform3到jform2的代碼怎麼寫?’>一個java項目中有3個窗體,從jform1–>jform2–>jform3–>jform2,請問從jform3到jform2的代碼怎麼寫?
- 2、java中如何在三個窗體之間切換?
- 3、java編程,設計一個窗體,要有三個部分(文本框、按鈕、標籤),按鈕內容輸出到文本框
- 4、100張票,用java多線程實現3個窗口按順序依次賣票,如何實現
- 5、java多線程問題:模擬10個人在3個窗口買票的過程
- 6、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