[[oktatas:programozás:java:java_komponensek|< Java komponensek]]
====== Java komponensek - Swing inputpanel ======
* **Szerző:** Sallai András
* Copyright (c) 2023, Sallai András
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]]
* Web: https://szit.hu
===== Bevezetés =====
Swing programozói könyvtár használatával szeretnénk beviteli mezőt és hozzátartozó feliratot szeretnénk megjeleníteni.
A feladat mintaprojektje:
* https://github.com/andteki/inputpanel
Ehhez hasonló mikorprojekt:
* https://github.com/oktat/inputpanel.git
===== InputPanel =====
package hu.szit.inputpanel;
import java.awt.Dimension;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class InputPanel extends JPanel {
JLabel label;
JTextField field;
public InputPanel() {
initComponent();
setupComponents();
addComponent();
}
private void initComponent() {
this.label = new JLabel();
this.field = new JTextField();
}
private void setupComponents() {
this.field.setPreferredSize(new Dimension(100, 25));
}
private void addComponent() {
this.add(this.label);
this.add(this.field);
}
public void setText(String text) {
this.label.setText(text);
}
public String getText() {
return this.label.getText();
}
public void setValue(String text) {
this.field.setText(text);
}
public String getValue() {
return this.field.getText();
}
}
===== Az InputPanel használata =====
public class App {
public static void main(String[] args) throws Exception {
new Mainwindow();
}
}
import java.awt.FlowLayout;
import javax.swing.JFrame;
import hu.szit.inputpanel.InputPanel;
public class Mainwindow extends JFrame {
InputPanel inputPanel;
public Mainwindow() {
this.inputPanel = new InputPanel();
this.inputPanel.setText("Minta");
this.inputPanel.setValue("érték");
this.setLayout(new FlowLayout());
this.add(this.inputPanel);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(400, 300);
this.setVisible(true);
}
}