Hallo zusammen,
anbei möchte ich euch meinen Testcode zeigen.
Wenn man die Buttons für die Navigation betätigt, dann rechnet er exponentiell aufwärts. Guckt es euch am Besten selber eben an. Ich finde den Fehler gerade nicht -.- Eine Ausgabe des Zählers habe ich eingebaut.
Die benötigten zweite Klasse...
anbei möchte ich euch meinen Testcode zeigen.
Wenn man die Buttons für die Navigation betätigt, dann rechnet er exponentiell aufwärts. Guckt es euch am Besten selber eben an. Ich finde den Fehler gerade nicht -.- Eine Ausgabe des Zählers habe ich eingebaut.
Java:
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.*;
import javax.swing.event.ChangeListener;
import javax.swing.event.ChangeEvent;
public class Testcode {
int woSindWir = 0;
JFrame frame = new JFrame("Verwaltung");
JPanel thesuper = new JPanel();
JPanel p1 = new P(85);
JPanel p2 = new P(15);
JPanel pa1= new JPanel();
JPanel pa2 = new JPanel();
JPanel pa3 = new JPanel();
JPanel pa4 = new JPanel();
JPanel pa5 = new JPanel();
JPanel pa6 = new JPanel();
JPanel pa7 = new JPanel();
JTabbedPane tabbedPane = new JTabbedPane();
JButton jbstart = new JButton("|<");
JButton jbend = new JButton(">|");
JButton jbup = new JButton(">");
JButton jbdown = new JButton("<");
JTextField navi = new JTextField();
Font ap = new Font("Arial", Font.BOLD | Font.ITALIC, 36);
JLabel überschrift = new JLabel("Verwaltung");
public Testcode() {
basis();
verwalten(-10);
}
public void basis()
{
frame.setBounds(20,20,900,400);
thesuper.setLayout(new BoxLayout(thesuper, BoxLayout.PAGE_AXIS));
thesuper.setBackground(new Color(226,0,116));
frame.add(thesuper);
überschrift.setForeground(Color.WHITE);
überschrift.setFont(ap);
thesuper.add(überschrift);
p1.setBackground(new Color(226,0,116));
p1.setLayout(new BoxLayout(p1, BoxLayout.Y_AXIS));
p2.setBackground(new Color(226,0,116));
p2.setLayout(null);
thesuper.add(p1);
thesuper.add(p2);
tabbedPane.addTab("pane 1", null, pa1, null);
tabbedPane.addTab("pane 2", null, pa2,null);
tabbedPane.addTab("pane 3", null, pa3, null);
tabbedPane.addTab("pane 4", null, pa4, null);
tabbedPane.addTab("pane 5", null, pa5, null);
tabbedPane.addTab("pane 6", null, pa6, null);
tabbedPane.addTab("Pane 7", null, pa7, null);
tabbedPane.setBackground(Color.WHITE);
p1.add(tabbedPane);
frame.setVisible(true);
tabbedPane.addChangeListener(new ChangeListener()
{
public void stateChanged(ChangeEvent e){
JTabbedPane jtb = (JTabbedPane) e.getSource();
System.out.println(jtb.getTitleAt(jtb.getSelectedIndex()));
verwalten(-10);
}
});
}
public void verwalten(int datensatz)
{
jbstart.setBounds(10,10,50,25);
jbend.setBounds(235,10,50,25);
jbup.setBounds(180,10,50,25);
jbdown.setBounds(65,10,50,25);
navi.setBounds(120,10,55,25);
navi.setHorizontalAlignment(SwingConstants.CENTER);
p2.removeAll();
p2.repaint();
System.out.println(woSindWir);
if(datensatz == 0)
{
woSindWir = 10;
}
else if(datensatz == -10)
{
woSindWir = 1;
}
else woSindWir += datensatz;
navi.setText(String.valueOf(woSindWir));
p2.add(jbstart);
jbstart.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0){
verwalten(-10);
}
});
navi.setEditable(true);
p2.add(navi);
p2.add(jbend);
jbend.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0){
verwalten(0);
}
});
//if(woSindWir < 10)
//{
p2.add(jbup);
jbup.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0) {
verwalten(1);
}
});
//}
if(woSindWir > 1)
{
p2.add(jbdown);
jbdown.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0) {
verwalten(-1);
}
});
}
}
public static void main(String[] args)
{
new Testcode();
}
}
Java:
import javax.swing.JPanel;
import java.awt.Dimension;
class P extends JPanel {
private int percent;
public P(int percent) {
this.percent = percent;
}
@Override
public Dimension getPreferredSize() {
Dimension d = getParent().getSize();
int w = d.width * percent / 100;
int h = d.height * percent / 100;
return new Dimension(w,h);
}
}