Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Seit Java6 wird der Text von komponenten komisch dargestellt
Seit Java6 wirden bei mir texte von Labels,Radiobutton,Button so dargestellt [][][][]. also statt z.b JLabel z.b HalloLabel wird dann [][][][][][][][]. Woran kann das liegen?
während der Entwicklung sehe ich in der IDE(netbeans) den Text richtig. führe ich das Programm aus, erhalte ich diese Zeichen..
Vielleicht hilft hier das. Ich habe auch javabeans(einfache JButton,JLabels...) eingefügt die ich unter java 1.4 entwickelt habe(bzw compiliert). diese nutzte ich.
Hast du irgendwo den Font für diese Labels verändert? Wenn man z.B. chinesische Zeichen ausgeben will, und das System die nicht unterstützt, sieht man nur [][][][].... Gut, den ASCII-Zeichensatz sollte es eigentlich immer geben... aber wenn du z.B. versucht hast, irgendwo WinDings als Font einzustellen oder so.... :roll:
Hmja, spätestens wenn der Font nicht gelesen werden kann oder auf dem gegebenen System nicht verfügbar ist (oder es - z.B. bei einem Applet, irgendwelche Schwierigkeiten mit den Zugriffsrechten gibt) führt das zu Problemen.
hier z.b eine Javabean(Klasse) ist ein einfaches jTextField mit paar Features drinne.wenn ich diese klasse benutzte ist der text(buchstabe)den ich angebe durch [] ersetzt. Ich versteh n icht warum. unter java 5 läuft es unter java 6 läufts nicht korrekt.
Wäre super von euch, wenn mir jemand helfen könnte.
Code:
/*
* MyTextField.java
*
* Created on 20. März 2008, 09:14
*/
package gui;
import java.awt.Color;
import java.awt.event.KeyEvent;
import javax.swing.BorderFactory;
import javax.swing.JTextField;
public class MyTextField extends JTextField {
/** Creates new form BeanForm */
public MyTextField() {
initComponents();
}
private void initComponents() {
setFont(new java.awt.Font("Arial", 0, 11)); // NOI18N
setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
setPreferredSize(new java.awt.Dimension(50, 16));
addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
formActionPerformed(evt);
}
});
addFocusListener(new java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent evt) {
formFocusGained(evt);
}
public void focusLost(java.awt.event.FocusEvent evt) {
formFocusLost(evt);
}
});
addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
formKeyPressed(evt);
}
});
}
private void formFocusLost(java.awt.event.FocusEvent evt) {
// TODO add your handling code here:
this.setBorder(BorderFactory.createLineBorder(Color.black));
}
private void formKeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
int key = evt.getKeyCode();
if (key == KeyEvent.VK_ENTER) {
System.out.println("ENTER pressed");
this.transferFocus();
}else if( key == KeyEvent.VK_F2)//F2-Taste gedrückt.
{
this.setText("");
}
}
private void formFocusGained(java.awt.event.FocusEvent evt) {
// TODO add your handling code here:
this.setBorder(BorderFactory.createLineBorder(Color.yellow));
}
private void formActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
public void setFehler(boolean fehler)
{
this.setBorder(BorderFactory.createLineBorder(Color.red));
}
// Variables declaration - do not modify
// End of variables declaration
}
Ich hab folgendes festgestellt. Sobald ich ein font vergebe krieg ich statt den text []-zeichen. sobald ich aber standard setze(netbeans)
auf tahoma 11 plain setze werden die Zeichen wieder richtig dargestellt. woran liegt das????
Hm. Schau auch mal hier http://java.sun.com/j2se/1.3/docs/guide/intl/addingfonts.html
Bin da nicht so der Experte, aber ggf. muss man da irgendwo in der font.properties-File was umstellen .... :?
Mach mal nicht
setFont(new java.awt.Font("Arial", 0, 11)); // NOI18N
sondern
setFont(new java.awt.Font("Sans Serif", 0, 11)); // NOI18N
Der Font sollte eigentlich IMMER verfügbar sein (als "logical Font", wie auf der Seite beschrieben)