❶ java編程採用圖形界面實現兩個內容的交換,圖形界面如下圖
以下是一個簡單的Java GUI程序,可以實現兩個內容(字元串、圖片等)之間的交換:
Copy code
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class SwapContent extends JFrame implements ActionListener {
private JLabel label1, label2;
private JButton swapBtn;
public SwapContent() {
// 設置窗口大小和標題
setSize(400, 300);
setTitle("Swap Content Demo");
// 創建標簽和按鈕模喚
label1 = new JLabel("Content A");
label2 = new JLabel("Content B");
swapBtn = new JButton("Swap");
// 設置標簽和按鈕的位置和大小
label1.setBounds(50, 50, 100, 30);
label2.setBounds(200, 50, 100, 30);
swapBtn.setBounds(150, 150, 100, 30);
// 將標簽和按鈕添加到窗口中
add(label1);
add(label2);
add(swapBtn);
// 注冊按鈕的事件監聽器
swapBtn.addActionListener(this);
// 設置窗口的默認關閉方式
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
@Override
public void actionPerformed(ActionEvent e) {
// 獲取標簽的內容
String temp = label1.getText();
label1.setText(label2.getText());
label2.setText(temp);
}
public static void main(String[] args) {
// 創建窗口對象並顯示
SwapContent sc = new SwapContent();
sc.setVisible(true);
}
}
該程序創建了一個窗口,包括兩個標簽(label1和label2)和一個按鈕(swapBtn)。當用戶點擊按鈕時,程序會交換label1和label2的內容。
在程序的actionPerformed方法中,程序將label1和label2的內容交換。具體實現是,首先使用旦冊凱label1.getText()獲取label1的內容,並將其保存到一個臨時變數temp中;然後,將label1的內容設置為label2的內容,將label2的內容設置為temp的姿裂值。這樣,label1和label2的內容就被互換了。
在main方法中,程序創建了SwapContent對象,並將其顯示出來。程序運行後,用戶可以在窗口中交換label1和label2的內容。
❷ 求一個,java圖形化界面的源碼
自己寫的石頭剪子布代碼,有圖形界面,可以把自己選中的圖片命名為.jpg放到工程目錄下做背景圖片。//////////////////////////// package HomeWork;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.util.*;
public class StoneShearsSack { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new StoneWindow("Sample Game");
}
}
final class StoneWindow extends JFrame implements ActionListener,ItemListener{
JLabel win,draw,lose,score,count;
JTextArea text;
JComboBox list;
JButton fight,clear;
int swin,sdraw,slose,sscore;
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
String str1,str2,str3;
Random rdm = new Random();
int flag,random ,flag1, count1;
//final ImageIcon con = new ImageIcon("a.jpg") ;
public StoneWindow(String s){
setTitle("Sample Game");
fight = new JButton("出招");
clear = new JButton("清除分數");
//final ImageIcon con = new ImageIcon("b.jpg") ;
text = new JTextArea(){
final ImageIcon con = new ImageIcon("a.jpg");
Image mg = con.getImage();
{setOpaque(false);}
public void paintComponent(Graphics g){
g.drawImage(mg, 0, 0, this);
super.paintComponent(g);
}
};
text.setForeground(Color.black);
Font f = new Font("華文行楷",Font.BOLD,50);
text.setFont(f);
list = new JComboBox();
list.addItem("石頭");
list.addItem("剪子");
list.addItem("布");
panel2.setBackground(Color.blue);
panel2.add(list);
panel2.add(fight);
panel2.add(clear);
panel2.setPreferredSize(new Dimension(900,50));
list.addItemListener(this);
fight.addActionListener(this);
clear.addActionListener(this);
win = new JLabel("贏:" + swin);
draw = new JLabel(" 和:" + sdraw);
lose = new JLabel(" 輸:" + slose);
score = new JLabel(" 得分:" + sscore);
count = new JLabel(" 總局:" + count1);
Font f1 = new Font("宋體",1,30);
win.setFont(f1);
draw.setFont(f1);
lose.setFont(f1);
score.setFont(f1);
count.setFont(f1);
win.setForeground(Color.cyan);
draw.setForeground(Color.green);
lose.setForeground(Color.blue);
score.setForeground(Color.black);
count.setForeground(Color.pink);
panel1.setBackground(Color.red);
panel1.add(win);
panel1.add(draw);
panel1.add(lose);
panel1.add(score);
panel1.add(count);
panel1.setPreferredSize(new Dimension(900,50));
add(panel1,BorderLayout.NORTH);
add(text,BorderLayout.CENTER);
add(panel2,BorderLayout.SOUTH);
setBounds(100,100,900,450);
validate();
setVisible(true);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
public void actionPerformed(ActionEvent e){
if(e.getSource() == fight){
if(list.getSelectedItem() == "石頭"){
flag = 0;
}
else if(list.getSelectedItem() == "剪子"){
flag = 1;
}
else if(list.getSelectedItem() == "布"){
flag = 2;
}
str1 = (String)list.getSelectedItem();
text.setText("");
text.append("\n");
text.append(" 你 出: " + str1 + "\n");
text.append(" 電腦出: " + this.random() + "\n");
text.append(" 結 果: " + this.result() + "\n");
this.finalresult();
}
if(e.getSource() == clear){
swin = 0;
sdraw = 0;
slose = 0;
sscore = 0;
count1 = 0;
text.setText("");
win.setText(" 贏:" + swin);
draw.setText(" 和:" + sdraw);
lose.setText(" 輸:" + slose);
score.setText(" 得分:" + sscore);
count.setText(" 總局:" + count1);
}
}
public String random(){
random = rdm.nextInt(3);
if(random == 0)
str2 = "石頭";
else if(random == 1)
str2 = "剪子";
else if(random == 2)
str2 = "布";
return str2;
}
public String result(){
if(random == flag){
str3 ="打平";
flag1 = 0;
}
else if(random < flag &&flag == 1){
str3 = "你輸了";
flag1 = 1;
}
else if(random <flag && random ==1){
str3 = "你輸了";
flag1 = 1;
}
else if(random ==2 && flag == 0){
str3 = "你輸了";
flag1 = 1;
}
else{
str3 = "你贏了";
flag1 = 2;
}
return str3;
}
public void finalresult(){
if(flag1 == 0){
sdraw ++;
draw.setText(" 平:" + sdraw);
score.setText(" 得分:" + sscore);
}
if(flag1 == 1){
slose ++;
sscore = sscore - 10;
lose.setText(" 輸:" + slose);
score.setText(" 得分:" + sscore);
}
if(flag1 == 2) {
swin ++;
sscore = sscore + 10;
win.setText(" 贏:" + swin);
score.setText(" 得分:" + sscore);
}
count1 = swin + slose + sdraw;
count.setText(" 總局:" + count1);
}
public void itemStateChanged(ItemEvent e){
}
}
❸ 急求用JAVA編寫的圖形化界面拼圖小游戲代碼!
個人見解,總體需要兩個二維數組(一個存儲正確圖片排列 Array1 String[][],一個隨機生成圖片排列Array2 String[][]),一個一維數組來存儲圖片的名稱Array3 String[],。
(1)如何實現圖片移動
使用帶圖片的按鈕(button =new button(getImage(Array[2][4]))),然後通過單擊事件來更改按鈕的圖片來源。 把被點擊的按鈕的圖片路徑更新到空白按鈕,並且把被點擊的按鈕圖片更新的成空白。其實就是變換兩個的二維數組成員的值。更新Array2中的值,然後重繪按鈕
如 Array[2][3]=「3.image」
Array[2][4]=「」
圖片3.image右移
Array[2][3]=「」
Array[2][4]=「3.image」
(2)如何判斷被單擊的網格與空白的網格是否相鄰
後台使用一個二維數組Array2來做映射。通過二維數組的下標來判斷,如Array[2][3]可以知道Array[2][4]是它右邊的那個。
(3)如何實現圖片的隨機擺放
比如有9個圖片,你可以命名1-9,然後初始化一個長度為9的一維String 數組Array3來存儲圖片的名稱,
使用隨機函數給二維數組Array2賦值,如Array2[2][3]=Array3[random()],這里要判斷這個圖片是否已被使用過,可以通過遍歷Array2來確定當前Array3這個值是否已經在Array2中了
最後通過Array1 和Array2來比較,用戶的拼圖是否正確。
語言組織能力有限。講不太清楚。
❹ 如何在Intellij IDEA用圖形界面打開.java文件
如何在Intellij IDEA用圖形界面打開.java文件
打開IDEA,(當第一次打開的時候出現的是一個歡迎頁面,隨便創建一個project來進入到IDEA的主界面),主界面顯示如下: