JRadiobuttons "von Hand" anordnen

Status
Nicht offen für weitere Antworten.

plainvanilla

Mitglied
Hi,
ich habe da so ein nachtschwarzes Applet, das in einem Kontrollbereich ein paar wenige graue Textfelder hat. Ich würde jetzt gerne meine Radiobuttons auch mal eben in das Nachtschwarze einbetten, ohne da so graue Kisten drum zu haben. Kann man die Dinger irgendwie "von Hand" positionieren?

Sabine
 

André Uhres

Top Contributor
Buchstäblich von Hand geht's mit "Free Design" von NetBeans.
Aber mit Border-, Box-, Flow- und GridLayout hat man in den meisten Fällen genug Möglichkeiten.
 

lin

Top Contributor
joa, und als Anfänger sollte mans zuerst selbst coden (jedenfalls halt ich das für sinnvoller :) ) zwecks übung
 

plainvanilla

Mitglied
Ja, äh, würd ich ja gern, aber niemand beantwortet so richtig meine Frage. Ich werde dann mal konkreter:
Ich will meine Radiobuttons einfach irgendwo hinpotten, ohne irgendwelche Hilfskrücken zu verwenden. Da jibbet ja die Methoden setBounds und setLocation - nur erscheinen auf dem Bildschirm tut nicht wirklich was, wenn ich die benutze.

Sabine
 

André Uhres

Top Contributor
plainvanilla hat gesagt.:
...Ich will meine Radiobuttons einfach irgendwo hinpotten...Da jibbet ja die Methoden setBounds und setLocation...
In dem Fall musst du zuerst setLayout(null) setzen. Mit setBounds brauchste übrigens kein setLocation.
Man nimmt entweder setBounds oder setSize+setLocation.

PS: Das ist das sogenannte Null-Layout. Davon ist aber in den meisten Fällen abzuraten,
weil es das am wenigsten anpassungsfähigste Layout ist.
 

plainvanilla

Mitglied
Hm, happich gemacht. Die Textfelder und Buttons tun auch prima, nur bei den Radiobuttons will es jetzt nicht. Ich habe mal ein Stück Source Code ausgesägt - du wirst wahrscheinlich sofort den user-zu-blöd-error finden! :wink:

Sabine

Code:
        setLayout(null);

        tfLocator = new TextField(myLocator);
        add(tfLocator); 
        tfLocator.addActionListener(this);

        rbtnTracks = new JRadioButton("Tracks", true);
        rbtnTracks.setMnemonic(KeyEvent.VK_T);
        rbtnTracks.setActionCommand("Tracks"); 
        rbtnTicks = new JRadioButton("Ticks");
        rbtnTicks.setMnemonic(KeyEvent.VK_I);
        rbtnTicks.setActionCommand("Ticks");

        rbtnGroup = new ButtonGroup();
        rbtnGroup.add(rbtnTracks);
        rbtnGroup.add(rbtnTicks);

        rbtnTracks.addActionListener(this);
        rbtnTicks.addActionListener(this);

        tfLocator.setBounds(cp_x_root + 15, sd_y_root + f_sd_axis / 2 + 71, 65, 20);
        rbtnTracks.setBounds(cp_x_root + 15, 350, 10, 10);
        rbtnTicks.setBounds(cp_x_root + 15, 400, 10, 10);
 

André Uhres

Top Contributor
Dies fehlt schonmal:
add(rbtnTracks);
add(rbtnTicks);

Man soll auch nicht Swing mit AWT vermischen: also TextField solltest du durch JTextField ersetzen.
Ansonsten müsste es funzen. Ausser dass vielleicht die bounds so gesetzt sind,
dass die buttons ausserhalb des Applets landen.
 

André Uhres

Top Contributor
Code:
/*
 * Black_Applet.java
 */
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Black_Applet extends JApplet implements ActionListener{
    public void init() {
        initGUI();
    }
    private void initGUI(){
        JPanel panel = new JPanel();
        panel.setBackground(Color.black);
        setContentPane(panel);
        setSize(400,500);
        //****************************************
        setLayout(null);
        tfLocator = new JTextField(myLocator);
        add(tfLocator);
        tfLocator.addActionListener(this);
        rbtnTracks = new JRadioButton("Tracks", true);
        rbtnTracks.setMnemonic(KeyEvent.VK_T);
        rbtnTracks.setActionCommand("Tracks");
        rbtnTicks = new JRadioButton("Ticks");
        rbtnTicks.setMnemonic(KeyEvent.VK_I);
        rbtnTicks.setActionCommand("Ticks");
        rbtnGroup = new ButtonGroup();
        rbtnGroup.add(rbtnTracks);
        rbtnGroup.add(rbtnTicks);
        rbtnTracks.addActionListener(this);
        rbtnTicks.addActionListener(this);
        tfLocator.setBounds(cp_x_root + 15, sd_y_root + f_sd_axis / 2 + 71, 65, 20);
        rbtnTracks.setBounds(cp_x_root + 15, 350, 20, 10);
        rbtnTicks.setBounds(cp_x_root + 15, 400, 20, 10);
        rbtnTracks.setOpaque(false);
        rbtnTicks.setOpaque(false);
        add(rbtnTracks);
        add(rbtnTicks);
    }
    private JTextField tfLocator;
    private JRadioButton rbtnTracks;
    private JRadioButton rbtnTicks;
    private ButtonGroup rbtnGroup;
    private String myLocator="myLocator";
    private int cp_x_root;
    private int f_sd_axis;
    private int sd_y_root;
    public void actionPerformed(ActionEvent e) {
    }
}
 

plainvanilla

Mitglied
Danke für das Beispiel! Es tut genau das, was es soll, während in meinem Applet irgendein Prozess immer wieder schwarze Farbe über die Inputs kleistert.

Da ist tatsächlich ein grundsätzlicher Unterschied zwischen den AWT- und den Swing-Controls: erstere setzen sich durch, letztere nicht. Ich kann die Textfelder wieder nach vorne holen, indem ich an den Positionen herumklicke, aber der nächste Repaint kleistert sie wieder zu.

Ich denke, ich bin jetzt dank deiner Hilfe auf dem richtigen Weg!

Sabine
 

André Uhres

Top Contributor
Fang einfach mit meinem Beispiel neu an und erweitere es nach und nach.
Dann siehste ab wann es nicht mehr geht :wink:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F JRadioButtons werden nicht angezeigt. Java Basics - Anfänger-Themen 2
B JRadioButtons Java Basics - Anfänger-Themen 2
M JRadioButtons Java Basics - Anfänger-Themen 4
D JRadioButtons.disable(); Java Basics - Anfänger-Themen 3
D JRadioButtons werden nicht angezeigt Java Basics - Anfänger-Themen 4
B Rekursion von Hand durchführen Java Basics - Anfänger-Themen 2
C Konvertierung per Hand ausrechnen Java Basics - Anfänger-Themen 8
U Fehler: The left-hand side of an assignment must be a variable Java Basics - Anfänger-Themen 5
B Rechnung per Hand anders als von Java Java Basics - Anfänger-Themen 6
Binary.Coder Doppeltes Hashing verläuft in "Endlosscheife" beim rechnen per Hand Java Basics - Anfänger-Themen 8
M parent process in die Hand bekommen Java Basics - Anfänger-Themen 2
G Kriege Java Datei nicht per Hand kompiliert Java Basics - Anfänger-Themen 4
B SWAP List; Liste neu anordnen Java Basics - Anfänger-Themen 4
CptK Interface Kleine Kreise in großem Kreis anordnen Java Basics - Anfänger-Themen 3
M Panels untereinander anordnen Java Basics - Anfänger-Themen 3
A Erste Schritte Daten untereinander anordnen Java Basics - Anfänger-Themen 9
T JLabel richtig anordnen? wie gehts? Java Basics - Anfänger-Themen 9
P Anordnen der höchsten int in einem int[] Java Basics - Anfänger-Themen 16
M halt anordnen Java Basics - Anfänger-Themen 4
M BAPI GetList Liste anordnen Java Basics - Anfänger-Themen 3
T Ziffern anordnen Java Basics - Anfänger-Themen 3
T Textfelder und ComboBoxen anderst anordnen? Java Basics - Anfänger-Themen 4
J JButtons mit GridBagLayout anordnen Java Basics - Anfänger-Themen 9
G JLabel - Icon und Text untereinander anordnen? Java Basics - Anfänger-Themen 2
J Ausgabe mit BufferedWriter exakt untereinander anordnen Java Basics - Anfänger-Themen 10
J JLabel / JTextField linksbündig anordnen Java Basics - Anfänger-Themen 3
N In einer JToolbar das Icon ganz rechts anordnen Java Basics - Anfänger-Themen 5
G STRING IN DATEI NEU ANORDNEN Java Basics - Anfänger-Themen 3
G Text in Panel anordnen Java Basics - Anfänger-Themen 6
J Zeichenfläche anordnen Java Basics - Anfänger-Themen 5
T Karten zufällig anordnen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben