Je me bats un peu avec essayer de créer une chose de type bloc-notes en Java. Jusqu'à présent, j'ai une classe comme ci-dessous, c'est vraiment un JComponent
(UtilityComponent
s'étend JComponent
). Dans celui-ci, vous pouvez voir que je suis en train de rendre des graphiques pour faire une forme de bloc-notes, et maintenant je veux un JTextArea
dans cette forme pour entrer des choses. Mais je ne peux pas trouver un moyen de le faire fonctionner; J'ai essayé comme il semble maintenant, j'ai essayé de l'ajouter dans la racine JFrame
(dans un cas, il a pris l'ensemble JFrame
), j'ai essayé d'utiliser JPanel
composants et autres, mais ne peux pas l'obtenir tout à fait raison!Comment faire apparaître un JTextArea au-dessus de Graphics, à la fois dans un composant JComponent?
package jUtility;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics2D;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class Note extends UtilityComponent {
private static final long serialVersionUID = 2890336222216437001L;
private static int width, height;
private static JScrollPane text;
public Note(int x, int y, ID id, int w, int h) {
super(x, y, id);
width = w;
height = h;
JTextArea t = new JTextArea(5,5);
t.setText("sdfsdaf");
t.setBackground(Color.BLUE);
t.setLocation(50, 50);
t.setForeground(Color.RED);
t.setSize(new Dimension(50,50));
text = new JScrollPane(t);
text.setVisible(true);
}
public void tick() {
}
public void render(Graphics2D g2) {
g2.setColor(Color.GRAY);
g2.fillRoundRect(x, y, width, height, 50, 50);
g2.setColor(Color.DARK_GRAY);
g2.fillRoundRect(x + 2, y + 2, width - 4, height - 4, 50, 50);
g2.setColor(Color.GRAY);
g2.fillRoundRect(x + 23, y + 23, width - 46, height - 46, 50, 50);
g2.setColor(Color.WHITE);
g2.fillRoundRect(x + 25, y + 25, width - 50, height - 50, 50, 50);
}
}
Pour une meilleure aide plus rapidement, postez un [MCVE] ou [Short, Self Contained, Example correct] (http://www.sscce.org/). –
Comment voulez-vous que votre version du bloc-notes ressemble? – user3437460
Un contour gris avec des coins courbes, imaginez peut-être le contour d'un ipad vertical, et le milieu de celui-ci est juste une zone blanche où l'utilisateur peut taper des choses à l'intérieur. Je peux faire le contour avec Graphics pas de soucis, c'est juste faire coopérer le JTextArea (bien qu'il ne doive pas être un JTextArea s'il y a un meilleur moyen). – Jottle4