45 lines
1.1 KiB
Java
45 lines
1.1 KiB
Java
package dev.kske.chess.ui;
|
|
|
|
import java.awt.FlowLayout;
|
|
|
|
import javax.swing.JButton;
|
|
import javax.swing.JLabel;
|
|
import javax.swing.JPanel;
|
|
import javax.swing.JTabbedPane;
|
|
|
|
/**
|
|
* Project: <strong>Chess</strong><br>
|
|
* File: <strong>GameTabComponent.java</strong><br>
|
|
* Created: <strong>11 Dec 2019</strong><br>
|
|
*
|
|
* @author Kai S. K. Engelbart
|
|
*/
|
|
public class GameTabComponent extends JPanel {
|
|
|
|
private static final long serialVersionUID = 9022979950018125935L;
|
|
|
|
public GameTabComponent(JTabbedPane tabbedPane) {
|
|
super(new FlowLayout(FlowLayout.LEFT, 0, 0));
|
|
if (tabbedPane == null) throw new NullPointerException("TabbedPane is null");
|
|
|
|
// Create title JLabel
|
|
add(new JLabel() {
|
|
|
|
private static final long serialVersionUID = 7902391411509551586L;
|
|
|
|
@Override
|
|
public String getText() {
|
|
int i = tabbedPane.indexOfTabComponent(GameTabComponent.this);
|
|
return i != -1 ? tabbedPane.getTitleAt(i) : "";
|
|
}
|
|
});
|
|
|
|
JButton btnClose = new JButton("Close");
|
|
btnClose.addActionListener((evt) -> {
|
|
int i = tabbedPane.indexOfTabComponent(GameTabComponent.this);
|
|
if (i != -1) tabbedPane.remove(i);
|
|
});
|
|
add(btnClose);
|
|
}
|
|
}
|