hi,
ich versuch für die uni eine art funktionen plotter zu schreiben der nebenbei auch hoch un tiefpunkte brechnet jetzt steh ich ein bischen an.
1) Ich will wenn ich auf den Start Button klick dass sich etwas an der progressbar tut hab auch schon code dafür geschrieben, jedoch tut sich bei mir nichts, woran kann dass liegen? Sprech ich die jProgressbar falsch an?
2) Ich hab mir eine Klasse Rechteck gebastelt und will diese anzeigen lassen, jedoch weiß ich nicht wo genau im Programm ich dass mache? Ich habs zwar versucht scheiter jedoch kläglich dran und bin langsam mit meinem Latein am Ende.
3) Ich mag dann später mal in eben diesem Rechteck zeichnen sprich meine Funktionen darstellen, dazu werd ich mir ein Koordinatensystem basteln und die Punkte der Kurven/Funktionen der Reihe nacht auf das Bild schießen, dass sollte mit BUfferdImage gehn. Jetzt meine Frage gibt es ne einfachere Möglichkeit oder denk ich da zu kompliziert?
ich versuch für die uni eine art funktionen plotter zu schreiben der nebenbei auch hoch un tiefpunkte brechnet jetzt steh ich ein bischen an.
1) Ich will wenn ich auf den Start Button klick dass sich etwas an der progressbar tut hab auch schon code dafür geschrieben, jedoch tut sich bei mir nichts, woran kann dass liegen? Sprech ich die jProgressbar falsch an?
2) Ich hab mir eine Klasse Rechteck gebastelt und will diese anzeigen lassen, jedoch weiß ich nicht wo genau im Programm ich dass mache? Ich habs zwar versucht scheiter jedoch kläglich dran und bin langsam mit meinem Latein am Ende.
3) Ich mag dann später mal in eben diesem Rechteck zeichnen sprich meine Funktionen darstellen, dazu werd ich mir ein Koordinatensystem basteln und die Punkte der Kurven/Funktionen der Reihe nacht auf das Bild schießen, dass sollte mit BUfferdImage gehn. Jetzt meine Frage gibt es ne einfachere Möglichkeit oder denk ich da zu kompliziert?
Code:
package funktion;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.Dimension;
import javax.swing.JTextArea;
import java.awt.Rectangle;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JProgressBar;
import java.awt.*;
import java.awt.event.*;
import javax.swing.JTextField;
public class gui extends JFrame{
/**
*
*/
private static final long serialVersionUID = 1L;
public JPanel jPanel = null;
public JLabel jLabel = null;
public JTextField jTextField = null;
public JButton jButton = null;
public JProgressBar jProgressBar = null;
public JLabel jLabel1 = null;
public JLabel jLabel2 = null;
public JTextArea jTextArea = null;
public JPanel jPanel1 = null;
public Rechteck AnzeigeRechteck = null;
/**
* This method initializes
*
*/
public gui() {
super();
initialize();
}
/**
* This method initializes this
*
*/
private void initialize() {
this.setSize(new Dimension(500, 400));
this.setTitle("Graphische Funktionen Zeichner");
this.setContentPane(getJPanel());
}
/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel() {
if (jPanel == null) {
jLabel2 = new JLabel();
jLabel2.setBounds(new Rectangle(330, 345, 31, 16));
jLabel2.setText("100%");
jLabel1 = new JLabel();
jLabel1.setBounds(new Rectangle(285, 345, 46, 16));
jLabel1.setText("Status");
jLabel = new JLabel();
jLabel.setBounds(new Rectangle(15, 180, 91, 17));
jLabel.setText("Funktion f(x)= ");
jPanel = new JPanel();
jPanel.setLayout(null);
jPanel.add(jLabel, null);
jPanel.add(getJTextField(), null);
jPanel.add(getJButton(), null);
jPanel.add(getJProgressBar(), null);
jPanel.add(jLabel1, null);
jPanel.add(jLabel2, null);
jPanel.add(getJTextArea(), null);
jPanel.add(getJPanel1(), null);
Rechteck AnzeigeRechteck = new Rechteck();
jPanel.add(AnzeigeRechteck);
}
return jPanel;
}
/**
* This method initializes jTextField
*
* @return javax.swing.JTextField
*/
private JTextField getJTextField() {
if (jTextField == null) {
jTextField = new JTextField();
jTextField.setBounds(new Rectangle(105, 180, 286, 16));
}
return jTextField;
}
/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(new Rectangle(405, 180, 76, 16));
jButton.setText("Start");
jButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
for (int i = 0; i > 100; i++) {
// Als Beispiel für eine
// rechenintensive Operation
try { Thread.sleep(100); }
catch (InterruptedException ex) {}
jProgressBar.setValue(i);
//jButton.setText(String.valueOf(i));
jProgressBar.paint(jProgressBar.getGraphics());
}
}
});
}
return jButton;
}
/**
* This method initializes jProgressBar
*
* @return javax.swing.JProgressBar
*/
private JProgressBar getJProgressBar() {
if (jProgressBar == null) {
jProgressBar = new JProgressBar();
jProgressBar.setBounds(new Rectangle(375, 345, 106, 16));
}
return jProgressBar;
}
/**
* This method initializes jTextArea
*
* @return javax.swing.JTextArea
*/
private JTextArea getJTextArea() {
if (jTextArea == null) {
jTextArea = new JTextArea();
jTextArea.setBounds(new Rectangle(15, 210, 466, 121));
jTextArea.setText("Funktionszeichenlog:");
}
return jTextArea;
}
/**
* This method initializes jPanel1
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel1() {
if (jPanel1 == null) {
jPanel1 = new JPanel();
jPanel1.setLayout(null);
jPanel1.setBounds(new Rectangle(135, 15, 226, 151));
}
return jPanel1;
}
public class Rechteck extends Component{
/**
*
*/
private static final long serialVersionUID = -3673149918506320972L;
int x=50, y=50;
int width=50, height=50;
public void paint(Graphics g){
g.setColor(Color.red);
g.fillRect(x, y, width, height);
}
public Dimension getPreferredSize(){
return new Dimension(100, 100);
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
gui gui = new gui();
gui.show();//gui.
}
} // @jve:decl-index=0:visual-constraint="50,119"