我想從我的文本字段獲取數據並將其設置爲int h。並改變矩形即時圖的大小,但我不知道如何去從文本字段獲取數據,我厭倦了在actionperfomred中使用e.getsource,但它無法找到我的文本字段。我的代碼如下:我不知道如何從我的文本字段獲取數據
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
import javax.swing.*;
import java.net.*;
import java.sql.*;
import java.lang.Object;
import java.awt.Graphics;
import java.awt.Graphics2D;
/**
* This class demonstrates how to load an Image from an external file
*/
public class test extends Component {
int x=77, y=441, w=23, h=10;
BufferedImage img =
new BufferedImage(100, 50,
BufferedImage.TYPE_INT_ARGB);
// BufferedImage img;
public void paint(Graphics g) {
g.drawImage(img, 0, 0, null);
// g.fillRect(10,10,10,10);
}
public test() {
try {
img = ImageIO.read(new File("sales-goal.png"));
} catch (IOException e) {}
Graphics2D g = img.createGraphics();
Color myColor = Color.decode("#32004b");
g.setColor(myColor);
g.fillRect(x,y,w,h);
//77,441,23,10
}
public Dimension getPreferredSize() {
if (img == null) {
return new Dimension(100,100);
} else {
//return new Dimension(img.getWidth(null), img.getHeight(null));
return new Dimension(300,600);
}
}
public static void main(String[] args) {
JFrame f = new JFrame("Load Image Sample");
JTextField textField=new JTextField();
f.add(textField);
textField.setBounds(10,10,40,30);
textField.setVisible(true);
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
f.add(new test());
f.pack();
f.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
// if (e.getSource() == textField) {}
}
}
這是一個很好的問題:http://codereview.stackexchange.com/ – 2012-04-13 17:33:59
不要AWT('Component')成分混合擺動('JFrame')。 'test'類應該擴展'JPanel'(並且應該正確地將其大寫爲'Test')。它需要重寫'paintComponent()'而不是'paint()'。 – 2012-04-13 17:49:52
這樣做,我仍然不知道如何通過操作執行主要獲取數據。 – user1329836 2012-04-13 18:33:33