Hallo,
ich habe ein JFrame, in welchen ich verschiedene Komponenten habe.
1. Problem: Die beiden JLabels (Bilder ksa und unibw) sollen in der linken bzw. rechten unteren Ecke sein. Sind sie aber nicht richtig. Bitte um Hilfe!?
2. Problem. Ich habe bei dem Klicken des Buttons die Aktion ausgelöst. Dort wird der Button danach gelöscht (funzt auch) und dann soll ein JLabel (Text) ausgegeben werden und darunter die beiden Button Ja,Nein. Das geht aber auch nicht. Der Text erscheint in der Mitte und geht über das Frame hinaus und die Buttons sind anscheinend dahinter und nicht sichtbar. Die sollen aber darunter sein.
Wäre nett wenn mir wer helfen könnte und auch gleich den Code so schreiben könnte wie er sein muss.
f.getContentPane().add(text);
f.getContentPane().add(butJa);
f.getContentPane().add(butNein);
f.pack();
f.setSize(1000,800);
}});
gbc.gridx = 0;
gbc.gridy = 0;
gbc.gridwidth = gbc.REMAINDER;
gbl.setConstraints(bw,gbc);
gbc.fill = GridBagConstraints.NONE;
gbc.ipady = 0;
gbc.weighty = 1.0;
gbc.anchor = GridBagConstraints.LAST_LINE_START;
gbc.insets = new Insets(10,0,0,0);
gbc.gridx = 0;
gbc.gridwidth = 1;
gbc.gridy = 0;
gbl.setConstraints(unibw,gbc);
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.ipady = 0;
gbc.weighty = 1.0;
gbc.anchor = GridBagConstraints.LAST_LINE_END;
gbc.insets = new Insets(10,0,0,0);
gbc.gridx = 10;
gbc.gridwidth = 1;
gbc.gridy = 0;
gbl.setConstraints(rsa,gbc);
f.setContentPane(new BackGroundPane("hintergrund2.jpg"));
f.getContentPane().setLayout(gbl);
f.getContentPane().add(unibw);
f.getContentPane().add(bw);
f.getContentPane().add(rsa);
JMenuBar menuBar = new JMenuBar();
JMenu fileMenu1 = new JMenu( "Datei" );
JMenu fileMenu2 = new JMenu( "Optionen" );
ImageIcon icon1 = new ImageIcon("folder.png" );
Image i1 = icon1.getImage();
Image i2 = i1.getScaledInstance(20,20,Image.SCALE_FAST);
icon1.setImage(i2);
JMenuItem item1 = new JMenuItem("Öffnen", icon1);
JMenuItem item2 = new JMenuItem("Speichern");
JMenuItem item3 = new JMenuItem("Beenden");
/**item3.add(exitAction);*/
fileMenu1.add(item1);
fileMenu1.add(item2);
fileMenu1.add(item3);
menuBar.add( fileMenu1 );
menuBar.add( fileMenu2 );
f.setJMenuBar( menuBar );
f.setSize( 1000, 800 );
SwingUtilities.invokeLater(new Runnable() {
public void run() {
f.setVisible(true);
}
});
}[/code]
Bitte helft mir!
Hab sogar noch eine frage:
Ich öffne beim markierten Code ein neues Fenster (Standard Ausgabe Java BlueJ). Wie kann ich das wieder schließen, also mit welchem Befehl?
ich habe ein JFrame, in welchen ich verschiedene Komponenten habe.
1. Problem: Die beiden JLabels (Bilder ksa und unibw) sollen in der linken bzw. rechten unteren Ecke sein. Sind sie aber nicht richtig. Bitte um Hilfe!?
2. Problem. Ich habe bei dem Klicken des Buttons die Aktion ausgelöst. Dort wird der Button danach gelöscht (funzt auch) und dann soll ein JLabel (Text) ausgegeben werden und darunter die beiden Button Ja,Nein. Das geht aber auch nicht. Der Text erscheint in der Mitte und geht über das Frame hinaus und die Buttons sind anscheinend dahinter und nicht sichtbar. Die sollen aber darunter sein.
Wäre nett wenn mir wer helfen könnte und auch gleich den Code so schreiben könnte wie er sein muss.
Java:
import java.util.*;
import java.math.BigInteger;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class HVES
{
public HVES() {
SymKS sym = new SymKS();
final int keyLength = sym.getSchluessellaenge();
AsymKS asym = new AsymKS();
asym.createKeys();
final SessionKey key = new SessionKey();
final JFrame f = new JFrame("HVES");
f.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
GridBagLayout gbl = new GridBagLayout();
GridBagConstraints gbc = new GridBagConstraints();
JLabel rsa = new JLabel(new ImageIcon("ksa.jpg"));
rsa.setPreferredSize(new Dimension(400,200));
JLabel unibw = new JLabel(new ImageIcon("unibw.gif"));
unibw.setPreferredSize(new Dimension(400,250));
final JRadioButton butJa = new JRadioButton("Ja");
final JRadioButton butNein = new JRadioButton("Nein");
final JLabel text = new JLabel("Wollen Sie den verschlüsselten Text ausgeben?");
ImageIcon buttonIcon = new ImageIcon("key.jpg");
final JButton bw = new JButton("Text verschlüsseln", buttonIcon);
bw.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
f.remove(bw);
int[] sesKey = key.createSessionKey(keyLength);
[code]key.ausgabe(sesKey);
f.getContentPane().add(butJa);
f.getContentPane().add(butNein);
f.pack();
f.setSize(1000,800);
}});
gbc.gridx = 0;
gbc.gridy = 0;
gbc.gridwidth = gbc.REMAINDER;
gbl.setConstraints(bw,gbc);
gbc.fill = GridBagConstraints.NONE;
gbc.ipady = 0;
gbc.weighty = 1.0;
gbc.anchor = GridBagConstraints.LAST_LINE_START;
gbc.insets = new Insets(10,0,0,0);
gbc.gridx = 0;
gbc.gridwidth = 1;
gbc.gridy = 0;
gbl.setConstraints(unibw,gbc);
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.ipady = 0;
gbc.weighty = 1.0;
gbc.anchor = GridBagConstraints.LAST_LINE_END;
gbc.insets = new Insets(10,0,0,0);
gbc.gridx = 10;
gbc.gridwidth = 1;
gbc.gridy = 0;
gbl.setConstraints(rsa,gbc);
f.setContentPane(new BackGroundPane("hintergrund2.jpg"));
f.getContentPane().setLayout(gbl);
f.getContentPane().add(unibw);
f.getContentPane().add(bw);
f.getContentPane().add(rsa);
JMenuBar menuBar = new JMenuBar();
JMenu fileMenu1 = new JMenu( "Datei" );
JMenu fileMenu2 = new JMenu( "Optionen" );
ImageIcon icon1 = new ImageIcon("folder.png" );
Image i1 = icon1.getImage();
Image i2 = i1.getScaledInstance(20,20,Image.SCALE_FAST);
icon1.setImage(i2);
JMenuItem item1 = new JMenuItem("Öffnen", icon1);
JMenuItem item2 = new JMenuItem("Speichern");
JMenuItem item3 = new JMenuItem("Beenden");
/**item3.add(exitAction);*/
fileMenu1.add(item1);
fileMenu1.add(item2);
fileMenu1.add(item3);
menuBar.add( fileMenu1 );
menuBar.add( fileMenu2 );
f.setJMenuBar( menuBar );
f.setSize( 1000, 800 );
SwingUtilities.invokeLater(new Runnable() {
public void run() {
f.setVisible(true);
}
});
}[/code]
Bitte helft mir!
Hab sogar noch eine frage:
Ich öffne beim markierten Code ein neues Fenster (Standard Ausgabe Java BlueJ). Wie kann ich das wieder schließen, also mit welchem Befehl?
Zuletzt bearbeitet: