[問題]執行繪圖後,按鈕不見了

看板java作者時間19年前 (2006/04/04 19:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
原先我有放置一個按鈕,但執行時,按鈕卻在畫面上不見了 需要亂點才會出現,請問要如何才能夠克服這個問題? ===程式碼=== package package_mm01_load_image_test; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import java.lang.*; import java.util.*; /** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2006</p> * <p>Company: </p> * @author not attributable * @version 1.0 */ public class Frame1_mm01_image_test extends JFrame { JPanel contentPane; JFileChooser jFileChooser1 = new JFileChooser(); JButton jButton1 = new JButton(); Graphics g;// //Construct the frame public Frame1_mm01_image_test() { enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } //Component initialization private void jbInit() throws Exception { contentPane = (JPanel) this.getContentPane(); contentPane.setLayout(null); this.setSize(new Dimension(400, 300)); this.setTitle("FrameTitle_mm01_load_image_test"); jFileChooser1.setBounds(new Rectangle(358, 267, 14, 20)); jButton1.setBackground(Color.orange); jButton1.setBounds(new Rectangle(12, 201, 370, 57)); jButton1.setDebugGraphicsOptions(0); jButton1.setDoubleBuffered(true); jButton1.setActionCommand("jButton1"); jButton1.setFocusPainted(true); jButton1.setText("jButton1"); jButton1.addActionListener(new Frame1_mm01_image_test_jButton1_actionAdapter(this)); contentPane.add(jFileChooser1, null); contentPane.add(jButton1, null); } //Overridden so we can exit when window is closed protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { System.exit(0); } } //繪圖的程式碼 public void paint(Graphics g) { if(btn1_click==true){ Toolkit tok = Toolkit.getDefaultToolkit(); Image img = tok.getImage(file_path); g.drawImage(img, 20 , 40, 100, 100,this); }//end of if }///end of public void paint(Graphics g) public String file_path; boolean btn1_click=false;//開檔的按鈕是否被按了 void jButton1_actionPerformed(ActionEvent e) { //按下按鈕後,會匯入圖檔 if (JFileChooser.APPROVE_OPTION == jFileChooser1.showOpenDialog(this)) { btn1_click=true; file_path=jFileChooser1.getSelectedFile().getPath(); }//end Of if Graphics g=getGraphics(); paint(g); } } class Frame1_mm01_image_test_jButton1_actionAdapter implements java.awt.event.ActionListener { Frame1_mm01_image_test adaptee; Frame1_mm01_image_test_jButton1_actionAdapter(Frame1_mm01_image_test adaptee) { this.adaptee = adaptee; } public void actionPerformed(ActionEvent e) { adaptee.jButton1_actionPerformed(e); } } -- ╭──── bbs.csie.mcu.edu.tw ───────────╮推薦給您~ 神話 第一個全面 IPv6 Ready 的 BBS,請大家蒞臨捧場! From: 61.231.236.14 > ╰──────────────────────────╯ ||
文章代碼(AID): #14Cbaq00 (java)
文章代碼(AID): #14Cbaq00 (java)