Ich möchte Java verwenden, um eine TXT -Bearbeitungssoftware wie in Windows zu erstellen. Es beinhaltet die Registerkarte Schriftart. Ich habe lange online gesucht, konnte es aber nicht finden. Ich war wütend und schrieb selbst einen. Ich werde es hier posten, um es zu teilen. Wenn ich das nächste Mal auf ein Problem stoße, muss ich den Code nicht selbst schreiben!
Paketexperiment; import Java.awt. Class Fontformat erweitert JDialog {private jlabel namelb; Privat Jlabel Stylelb; Privat Jlabel Sizelb; Privat Jlabel Preslb; private jtextfield nametx; private jtextfield styletx; Private JTextfield Sizetx; private jtextfield prestx; Privat JList Namelt; Privat JList Stylelt; Privat JList Sizelt; Privat Jscrollpane JScrollpane1; Privat Jscrollpane JScrollpane2; Privat JScrollpane JScrollpane3; Privat Jbutton Genehmigung; Privat Jbutton Cancel; Privat Jbutton wählen; Private Jradiobutton [] Language = New Jradiobutton [2]; private buttongroup Languageg; private String slanguage [] = {new String ("li tao"), new String ("abc")}; privater statischer JFRame -Rahmen; Public Font Font, Newfont; // Schriftklasse private Farbfarbe; // Farbklassenfarbe NewColor; private jFilechooser filechoose = new JFilechooSer (); // Dateiauswahlklasseninstanz private jdialog colordlg; // Farbe Dialog private jcolorchooser colorchoose = new JcolorchooSer (); // Farbauswahlklasseninstanz private Graphics -Environment -Umgebung; // Diese Klasse erhält auch Systemschriften; private String [] fontNameset; // font 'logischer Name' set // String -Array von Schriftart 'Style' set private String [] fontStyleset = {"allgemein", "tilt", "mutig", "Tilt Bold"}; // Konstante Array von Schriftart 'Style' Set Private Integer [] fontcon = {font.plain, font.italic, font.bold, font.bold | Font.Italic}; // font 'size' set private String [] fontSizeset = {"6", "7", "8", "9", "10", "11", "12", "14", "16", "18", "20", "22", "24", "26", "28", "36", "36", "48", "72", "72"}; public static void main (String args []) {// Hauptfunktion fontformat a = new fontformat (); A.setvisible (True); } public fontFormat () {// Der parameterlose Konstruktor Super (Frame, "li tao -font Einstellfenster", true); Frame = new Jframe (); initGui (); } public fontformat (JFrame-Frame) {// Der Parameter-entsprechende Konstruktor Super (Frame, "li tao― -Font-Einstellfenster", true); this.frame = Frame; // Es muss ein öffentliches Schriftart Objekt im übergeordneten Fenster // setalwaysontop (true) geben; initGui (); } private void initgui () {// Schnittstelleninitialisierung try {getContentPane (). setLayout (null); Environment = Graphics -Enge. setSize (380, 337); setDefaultCloseOperation (windowConstants.dispens_on_close); setWindowpos (); // zentrieren Sie das Fensterbildschirm setResibable (false); // Größe unveränderlich} catch (Ausnahme e) {e.printstacktrace (); }} private void initfont () {// initialisieren Sie die Schriftart // Das Standard -Schriftformat auf das Schriftformat gegenüber der übergeordneten Fenster -Schriftart if (Frame.Getfont () == null) {nametx.settext (fontnameset [0]); styletx.setText (fontStylleSet [0]); SizetX.SetText ("12"); Namelt.SetSelectedValue (fontNameset [0], true); stylelt.setSelectedIndex (0); Sizelt.SetSelectedValue ("12", wahr); font = new font (fontNameset [0], fontcon [0], 12); newfont = font; // Speichern Sie das ursprüngliche Schriftformat Prestx.setFont (Schriftart); // joptionpane.showmessagedialog (null, "ccac"); } else {int idxstyle = 0; für (int i = 0; i <fontcon.length; i ++) {if (fontcon [i] == Fram.getFont (). getStyle ()) idxstyle = i; } nametx.setText (Fram.getFont (). getName ()); // text styletx.setText (fontStyleset [idxStyle]); SizETX.SetText ("" + Frame.GetFont (). getSize ()); Namelt.SetSelectedValue (Frame.GetFont (). getName (), true); // Liste ändern, um stylelt.setSelectedIndex (idxStyle) anzuzeigen; Sizelt.SetSelectedValue ("" + Frame.GetFont (). GetSIZE (), true); font = new font (fontNameset [0], fontcon [0], 12); // Speichern Sie das aktuelle Format newfont = font; // Speichern Sie das ursprüngliche Schriftformat prestx.setfont (Schrift BLANS -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- getContentPane (). Add (NamelB); namelb.setText ("font:"); Namelb.SetBounds (10, 14, 120, 26); namelb.setfont (new java.awt.font ("Simsun", 1, 14)); stylelb = new JLabel (); getContentPane (). Add (Stylelb); stylelb.setText ("Schriftart:"); Stylelb.SetBounds (151, 14, 120, 23); stylelb.setfont (new java.awt.font ("Simsun", 1, 14)); SizelB = new JLabel (); getContentPane (). Add (SizelB); SizelB.SetText ("Größe:"); Sizelb.SetBounds (275, 14, 79, 24); SizelB.SetFont (New Java.awt.font ("Simsun", 1, 14)); preslb = new JLabel (); getContentPane (). add (preslb); preslb.setText ("Vorschau:"); Preslb.SetBounds (151, 150, 120, 80); preslb.setfont (new Java.awt.font ("Simsun", 1, 14)); // 4 个 TextField ----------------------------------------------------------------------------------------------- nametx.seteditable (falsch); getContentPane (). add (nametx); nametx.setBounds (10, 42, 120, 22); styletx = new JTextField (); styletx.setedable (false); getContentPane (). add (styletx); styletx.setBounds (151, 42, 100, 21); SizETX = new JTextField (); Sizetx.SeTedEtable (Falsch); getContentPane (). Add (Sizetx); Sizetx.SetBounds (275, 42, 79, 22); prestx = new JTextField (); prestx.seteditable (falsch); getContentPane (). add (prestx); prestx.setBounds (151, 200, 203, 61); prestx.setText (Slanguage [1]); // 3 个下拉条-+监听 --------------------------------------------------------------------------------- JSCROLLPANE1 = new Jscrollpane (); getContentPane (). add (jscrollpane1); JScrollPane1.Setbounds (10, 74, 120, 210); {ListModel fontnamemodel = new DefaultCombobOBoxModel (fontNameset); namelt = new JList (); JScrollPane1.SetViewPortView (Namelt); namelt.setModel (fontnamemodel); Namelt.SetBounds (274, 193, 90, 86); Namelt.SetBorder (BorderFactory .CreateetchedBorder (pegelborder.lower)); namelt.addmouselistener (neuer Mouseadapter () {public void mouseclicked (mouseEvent evt) {nameltmouseclicked (evt);}}); } jScrollPane2 = new JScrollPane (); getContentPane (). add (jscrollpane2); JScrollPane2.SetBounds (151, 74, 100, 103); {ListModel fontStylemodel = new DefaultComboboBoxModel (fontStylleSet); stylelt = new JList (); jScrollPane2.setViewPortView (Stylelt); stylelt.setModel (fontstylemodel); Stylelt.SetBounds (310, 215, 70, 102); stylelt.setBorder (BorderFactory .CreateetchedBorder (pegelborder.lower)); stylelt.addMouselistener (neuer Mouseadapter () {public void mouseclicked (mouseEvent evt) {styleltmouseclicked (evt);}}); } jScrollPane3 = new JScrollPane (); getContentPane (). add (jscrollpane3); JScrollPane3.SetBounds (275, 75, 79, 100); {ListModel fontsizeemodel = new DefaultComboboBoxModel (fontSizeset); Sizelt = new JList (); jScrollPane3.SetViewPortView (Sizelt); Sizelt.SetModel (fontsizeemodel); Sizelt.SetBounds (300, 218, 54, 102); Sizelt.SetBorder (BorderFactory .CreateetchedBorder (pegelborder.lower)); Sizelt.AddMouselistener (neuer Mouseadapter () {public void mouseclicked (mouseEvent evt) {Sizeltmouseclicked (evt);}}); } // ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Sprache = neu Sprache [] .Setbounds (271, 179, 40, 20); }}); Languageg.Add (Sprache [1]); ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- {genehmigteActionPerformed (EVT); }}); // Schaltfläche Abbrechen abbrechen = neu Jbutton (); getContentPane (). add (abbrechen); Cancel.SetText ("Cancel"); Cancel.SetBounds (219, 265, 67, 20); Cancel.SetFont (New Java.awt.font ("Kaiti_GB2312", 1, 12)); CORSTRAGE.ADDACTIONSLISTENER (new ActionListener () {public void actionPerformed (actionEvent evt) {ab covornActionperformed (evt);}}); // Farbauswahlschaltfläche wählen = new Jbutton (); getContentPane (). Add (gewählt); Wählen Sie.setText ("Farbe"); Wählen Sie.SetBounds (287, 265, 67, 20); Wählen Sie. Wählen Sie.AddactionListener (new ActionListener () {public void actionPerformed (actionEvent evt) {choseactionperformed (evt);}}); // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- (ScreenSize.Height - Framsesize.Height) / 2); } private void nameltmouseclicked (MouseEvent evt) {// Mausklick -Ereignis nametx.setText (namelt.getSelectedValue (). toString ()); font = new font (nametx.getText (), font.getStyle (), font.getSize ()); prestx.setfont (Schriftart); } private void styleltmouseclicked (MouseEvent evt) {// Mausklick -Ereignisstring temp = stylelt.getSelectedValue (). toString (); styletx.setText (temp); int index = 0; while (index <4 &&! fontStyleset [index] .equals (temp)) {index ++; } font = new font (font.getName (), fontcon [index], font.getSize ()); prestx.setfont (Schriftart); } private void SizeltMouseclicked (MouseEvent evt) {// Mausklick -Ereignis Sizetx.setText (sizelt.getSelectedValue (). toString ()); font = new font (font.getName (), font.getStyle (), Integer.parseInt (Sizetx.GeteText ())); prestx.setfont (Schriftart); } private void genehmigungsbedingte (actionEvent evt) {// Bestimmen Sie den Triggerereignis des Schaltflächenstring -Namens = nametx.getText (); int style = fontcon [stylelt.getSelectedIndex ()]; int size = integer.parseInt (SizETX.GETTEXT ()); font = neuer Schrift (Name, Stil, Größe); Frame.SetFont (Schriftart); // Schriftart des übergeordneten Fensters newfont = font; // das ursprüngliche Speichernformat aktualisieren newcolor = color; // Die Farbe this.dispon () aktualisieren; } private void covrectActionPerformed (actionEvent evt) {// Schaltfläche Abbrechen auslösen. } private void chooseactionperformed (actionEvent evt) {// Farbauswahlauslöserereignis if (colordlg == null) {colordlg = jcolorchooser.createdialog (fontformat.this, "Textfarbe auswählen", true, true, true, neuer coloroklistener (), null); } colorChoose.setColor (color = prestx.getforenground ()); colordlg.setvisible (true); } colorOKListener implementiert actionListener {// Schreiben Sie die Farbschaltfläche um, Klicken Sie auf die Hörklasse Overlay Interface ActionListener public void actionPerformed (actionEvent e) {color c = colorchoose.getColor (); Farbe = C; prestx.setforenground (c); Prestx.Repaint (); }}} Die Effekte sind wie folgt:
Ich hoffe, dieser Artikel wird Ihnen hilfreich sein. Dies ist alles für Sie, um den Inhalt der Registerkarte Java Imitation Windows -Schrifteinstellungen einzuführen. Ich hoffe, dass alle weiterhin unserer Website folgen werden! Wenn Sie Java lernen möchten, können Sie diese Website weiter verfolgen.