本文目錄一覽:
JAVA的彈窗怎麼做?
JAVA彈窗,有下面常見的2種方法實現:
通過JDialog(模式窗口) 類來實現.裡面的寫法類似JFrame
重點方法提示: setModal(true);
//當設置為true表示,如果不關閉這個彈窗,那麼主界面的其他組件都無法操作,該彈窗置於其他窗口的前面
//當設置為false表示,可以繞開本彈窗,對主界面的其他組件進行操作
優點: 功能強大, 擴展性強
缺點: 代碼量大.
示例圖
通過JOptionPane(提示框) 來實現
效果圖如下
優點: 代碼量少,簡單,方便, 普通場景已經夠用
缺點: 擴展性不夠, 複雜邏輯難以實現.
下面寫一個具體案例
場景:當用於對文本域的文字,進行操作後,那麼退出時,提示用戶, 是否要保存已經更改後的內容. 如果用戶沒有修改內容,那麼不用提示
重點代碼
addDocumentListener–用於實現對文本內容發生改變時進行響應
addWindowListener—用於實現對窗口進行操作時進行響應
完整代碼如下
import java.awt.Font;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class JDDemo extends JFrame implements DocumentListener,WindowListener{
JTextArea jta;
boolean flag;
public JDDemo() {
jta = new JTextArea();//文本域
jta.setText(“床前明月光”);//文本域的文字–可以通過IO載入txt文檔的文字
jta.setFont(new Font(“宋體”,Font.BOLD, 20));//文本域的字體
jta.setLineWrap(true);//設置自動換行
jta.getDocument().addDocumentListener(this);//添加文檔變化事件的響應.比如修改,刪除等
JScrollPane jsp = new JScrollPane(jta);//滾動面板(當文字太多時,顯示滾動條)
add(jsp);
setTitle(“主窗口”);//標題
setSize(300, 260);//大小
setLocationRelativeTo(null);//居中
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);//點擊窗口的關閉按鈕時,執行windowClosing的代碼
addWindowListener(this);
setVisible(true);//窗口可見
}
public static void main(String[] args) {
new JDDemo();
}
//實現WindowListener介面,需要重寫下面的6個方法, windowClosing專門處理關閉時的方法
public void windowOpened(WindowEvent e) {
}
public void windowClosing(WindowEvent e) {
if(flag){
int n = JOptionPane.showConfirmDialog(null, “已經更改了內容,需要保存後再退出嗎?”, “提示”,JOptionPane.YES_NO_OPTION);
//n等於-1表示關閉了彈出的對話框等情況的默認值
//n等於0(JOptionPane.YES_OPTION)表示選擇了Yes
//n等於1(JOptionPane.NO_OPTION)表示選擇了No
if(n==JOptionPane.YES_OPTION){
//把文字保存到文件的代碼省略…
System.out.println(“正在使用IO進行保存..ing”);
closeFrame();//關閉窗口並退出
}else if(n==JOptionPane.NO_OPTION){
System.out.println(“放棄保存修改.馬上退出”);
closeFrame();
}
}else{
closeFrame();
}
}
public void windowClosed(WindowEvent e) {
}
public void windowIconified(WindowEvent e) {
}
public void windowDeiconified(WindowEvent e) {
}
public void windowActivated(WindowEvent e) {
}
public void windowDeactivated(WindowEvent e) {
}
//文檔事件,有下面三個,如果觸發其中一個,都可以認為修改了文檔,所以需要在退出時進行提示,是否保存
public void insertUpdate(DocumentEvent e) {//插入
flag=true;
}
public void removeUpdate(DocumentEvent e) {//刪除
flag=true;
}
public void changedUpdate(DocumentEvent e) {//改變
flag=true;
}
//關閉窗口的方法
public void closeFrame(){
this.setVisible(false);//窗口不可見
this.dispose();//窗口銷毀
System.exit(0);//JVM虛擬機退出
}
}
運行效果圖:
java怎麼設置彈出文本框?
其實很簡單的哦\x0d\x0a\x0d\x0aimport javax.swing.JOptionPane;\x0d\x0a\x0d\x0apublic class Test {\x0d\x0a\x0d\x0apublic static void main(String[] args) {\x0d\x0aString s=JOptionPane.showInputDialog(“請輸入:”);\x0d\x0a}\x0d\x0a}\x0d\x0a非常簡單的一個彈消息框的代碼
怎麼樣在java中彈出一個messagebox
在java中實現一個消息框, 常見的有兩種方式
第一種方法: JOptionPane 類. 創建1個彈窗.
例一:簡單的消息提示框
JOptionPane.showMessageDialog(null, “消息提示”);
2.例二:帶警告圖片的消息提示框
JOptionPane.showMessageDialog(null, “提示消息”, “標題”,JOptionPane.WARNING_MESSAGE);
第二種方法 彈窗JDialog 設置setModal(true); 也可以實現. 類似於寫JFrame
兩者區別在於:
JOptionPane 代碼簡短, 適應一些普通需求, 比如彈出消息提示, 彈出警告信息, 提示用戶輸入, 提示用戶選擇, 等簡單的場景
JDialog 代碼略長, 組件需要自行定義. 滿足一些複雜的需求. 比如多個輸入框 ,多個按鈕等
java彈出文本框
告訴你為什麼樓上答案都這麼長,因為他們只懂copy別人的。。
我專門寫了個給你:
Test.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Test {
public static void main(String[] args) {
new MyFrame();
}
}
class MyFrame extends JFrame {
public MyFrame() {
Container c = this.getContentPane();
c.setLayout(new FlowLayout());
JButton button = new JButton(“點擊”);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String message = “hi”;//這句為你要顯示的值
JOptionPane.showMessageDialog(rootPane, message);
}
});
c.add(button);
this.setSize(300, 200);
this.show();
}
}
其中輸入消息的關鍵語句是:
JOptionPane.showMessageDialog(rootPane, message);
我不確定你說的「彈出一個文本框」是不是這個意思,如果不是的話補充一下問題我幫你改吧。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/250685.html