T
tomvondeek
Neues Mitglied
- 0
Hallo allerseits,
möchte mir ein eigenes Widget/View erstellen, weiss allerdings nicht ganz, was ich erweitern soll / wie ich herangehe.
Im Grunde möchte ich 2 Buttons und eine Textview zu einem Objekt zusammenfügen, da ich viele davon brauche.
[Button links, Anzeigesymbol "-"] [TextField, Anzeige Integer, Startwert 0] [Button rechts, anzeigesymbol "+"], bzw in Kurzdarstellung:
[-] 0 [+]
Ich denke was die Buttons machen sollen ist eindeutig O
Das ganze so "einfach" einzufügen ist kein Problem, allerdings würde es das Handling deutlich vereinfachen, wenn ich das ganze in eine eigene Klasse packe.
Da ich sonst ListView verwende, sollen die 3 Elemente auch nebeneinander in einer Listzeile stehen, wenn ich dieses Objekt hinzufüge.
Hat jemand eine Idee zur Umsetzung?
Das wäre großartig!
P.S. ich code das gane nur in Java, da ich UI sehr dynamisch halte, daher beschäftige ich mich 0 mit der Umsetzung in XML
P.P.S. die Methoden mit denen ich auf das clicken des Buttons reagiere und den Integerwert erhöhe/verkleinere sind kein Problem, also mir reicht ein einfacher Hinweis für den Rahmen )
Der ursprüngliche Beitrag von 13:38 Uhr wurde um 14:03 Uhr ergänzt:
Hier das ganze einmal flott normal in Java unter Nutzung der Swing-Class verdeutlicht, ich weiss nur nicht wie ich das ganze in "AppJava" ummodelieren muss
möchte mir ein eigenes Widget/View erstellen, weiss allerdings nicht ganz, was ich erweitern soll / wie ich herangehe.
Im Grunde möchte ich 2 Buttons und eine Textview zu einem Objekt zusammenfügen, da ich viele davon brauche.
[Button links, Anzeigesymbol "-"] [TextField, Anzeige Integer, Startwert 0] [Button rechts, anzeigesymbol "+"], bzw in Kurzdarstellung:
[-] 0 [+]
Ich denke was die Buttons machen sollen ist eindeutig O
Das ganze so "einfach" einzufügen ist kein Problem, allerdings würde es das Handling deutlich vereinfachen, wenn ich das ganze in eine eigene Klasse packe.
Da ich sonst ListView verwende, sollen die 3 Elemente auch nebeneinander in einer Listzeile stehen, wenn ich dieses Objekt hinzufüge.
Hat jemand eine Idee zur Umsetzung?
Das wäre großartig!
P.S. ich code das gane nur in Java, da ich UI sehr dynamisch halte, daher beschäftige ich mich 0 mit der Umsetzung in XML
P.P.S. die Methoden mit denen ich auf das clicken des Buttons reagiere und den Integerwert erhöhe/verkleinere sind kein Problem, also mir reicht ein einfacher Hinweis für den Rahmen )
Der ursprüngliche Beitrag von 13:38 Uhr wurde um 14:03 Uhr ergänzt:
Code:
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Test
{
private static void createAndShowGUI() {
//Create and set up the window.
JFrame frame = new JFrame("HelloWorldSwing");
frame.setLayout(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Add the ubiquitous "Hello World" label.
Test count1 = new Test(frame, 10,0);
Test count2 = new Test(frame, 10,50);
Test count3 = new Test(frame, 10,100);
//Display the window.
frame.pack();
frame.setVisible(true);
// frame.getContentPane().add(count1);
//Display the window.
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
private JPanel panel;
private JTextField txt;
public Test(JFrame container, int x, int y){
panel = new JPanel();
panel.setBounds(x, y, 120, 40);
new GridLayout(1, 3);
JButton minus = new JButton("-");
minus.addActionListener(new MinusActionListener());
txt = new JTextField();
txt.setColumns(2);
txt.setHorizontalAlignment(JTextField.CENTER);
txt.setText("0");
JButton plus = new JButton("+");
plus.addActionListener(new PlusActionListener());
panel.add(minus);
panel.add(txt);
panel.add(plus);
container.add(panel);
}
public int getValue(){
return Integer.parseInt(txt.getText());
}
private class MinusActionListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent arg0)
{
txt.setText(Integer.toString(Integer.parseInt(txt.getText())-1));
}
}
private class PlusActionListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent arg0)
{
txt.setText(Integer.toString(Integer.parseInt(txt.getText())+1));
}
}
}
Hier das ganze einmal flott normal in Java unter Nutzung der Swing-Class verdeutlicht, ich weiss nur nicht wie ich das ganze in "AppJava" ummodelieren muss