दिलचस्प पोस्ट
नियमित अभिव्यक्ति का उपयोग करते हुए एक बड़ी स्ट्रिंग के उपस्ट्रिंग को खोजने के लिए जावा का उपयोग करना WPF में सत्यापन त्रुटि शैली, सिल्वरलाइट के समान जावास्क्रिप्ट एचएसबी / एचएसवी रंग को आरजीबी में सही रूप में परिवर्तित करते हैं परिपत्र प्रगति बार में रंग कैसे बदल सकता है? PHP में एक चर के अस्तित्व की जांच करने का सर्वोत्तम तरीका; isset () स्पष्ट रूप से टूट गया है असंगत स्तंभ गिनती आयात के लिए SSIS कार्य? एएसपी। नेट 2012 जेनोवा के साथ विनीत मान्यकरण मैं कई जुड़ने वाले शब्दों को कैसे विभाजित कर सकता हूं? स्रोतकीट सेवा समाप्त PHP दो डेटाटम्स के बीच अंतर का पता लगाएं ओपनसीवी में सरणी / वेक्टर को चटाई करना कन्वर्ट LINQ: डायनामिक चयन करें जावा में परिपत्र संदर्भ पायथन में "नामित ट्यूपल्स" क्या हैं? बैल-नोड के तहत त्रुटि उप वर्गों के उदाहरणों पर काम क्यों नहीं करता है?

मैं जे टाबबेडपैन टैब के आकार को कैसे बदल सकता हूं?

मैं JTabbedPane में टैब के आकार को बदलने की कोशिश कर रहा हूं। setTabComponentAt(0, someComponent); का उपयोग करना setTabComponentAt(0, someComponent); टैब के बाहरी परिवर्तन नहीं करता है, जो एक विकर्ण शीर्ष बाएं कोने वाला एक आयत है। आकार बदलने के लिए क्या किया जा सकता है?

वेब के समाधान से एकत्रित समाधान "मैं जे टाबबेडपैन टैब के आकार को कैसे बदल सकता हूं?"

सही तरीका केवल बदलने के लिए है, देखो और महसूस करें , पुराने से अच्छा उदाहरण। Old.Java.Forums.Sun

यहां छवि विवरण दर्ज करें

 import java.awt.BorderLayout; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTabbedPane; import javax.swing.JTextArea; public class TabbedPane extends JPanel { private static final long serialVersionUID = 1L; public TabbedPane() { setLayout(new BorderLayout()); JPanel jp = new JPanel(); jp.setLayout(new BorderLayout()); JTabbedPane tb = new JTabbedPane(); tb.setUI(new CustomTabbedPaneUI()); tb.add("Tab1", new JTextArea("")); tb.add("Tab2", new JTextArea("")); tb.add("Tab3", new JTextArea("")); tb.add("Tab4", new JTextArea("")); tb.add("Tab5", new JTextArea("")); jp.add(tb, BorderLayout.CENTER); add(jp, BorderLayout.CENTER); tb.setEnabledAt(1, false); tb.setEnabledAt(3, false); } public static void main(String[] args) { JFrame frame = new JFrame(); frame.getContentPane().add(new TabbedPane()); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(500, 200); frame.setVisible(true); } } 

तथा

 import java.util.*; import java.awt.*; import javax.swing.*; import javax.swing.plaf.*; import javax.swing.plaf.basic.*; import javax.swing.text.View; public class CustomTabbedPaneUI extends BasicTabbedPaneUI { private Color selectColor; private Color deSelectColor; private int inclTab = 4; private int anchoFocoV = inclTab; private int anchoFocoH = 4; private int anchoCarpetas = 18; private Polygon shape; public static ComponentUI createUI(JComponent c) { return new CustomTabbedPaneUI(); } @Override protected void installDefaults() { super.installDefaults(); selectColor = new Color(250, 192, 192); deSelectColor = new Color(197, 193, 168); tabAreaInsets.right = anchoCarpetas; } @Override protected void paintTabArea(Graphics g, int tabPlacement, int selectedIndex) { if (runCount > 1) { int lines[] = new int[runCount]; for (int i = 0; i < runCount; i++) { lines[i] = rects[tabRuns[i]].y + (tabPlacement == TOP ? maxTabHeight : 0); } Arrays.sort(lines); if (tabPlacement == TOP) { int fila = runCount; for (int i = 0; i < lines.length - 1; i++, fila--) { Polygon carp = new Polygon(); carp.addPoint(0, lines[i]); carp.addPoint(tabPane.getWidth() - 2 * fila - 2, lines[i]); carp.addPoint(tabPane.getWidth() - 2 * fila, lines[i] + 3); if (i < lines.length - 2) { carp.addPoint(tabPane.getWidth() - 2 * fila, lines[i + 1]); carp.addPoint(0, lines[i + 1]); } else { carp.addPoint(tabPane.getWidth() - 2 * fila, lines[i] + rects[selectedIndex].height); carp.addPoint(0, lines[i] + rects[selectedIndex].height); } carp.addPoint(0, lines[i]); g.setColor(hazAlfa(fila)); g.fillPolygon(carp); g.setColor(darkShadow.darker()); g.drawPolygon(carp); } } else { int fila = 0; for (int i = 0; i < lines.length - 1; i++, fila++) { Polygon carp = new Polygon(); carp.addPoint(0, lines[i]); carp.addPoint(tabPane.getWidth() - 2 * fila - 1, lines[i]); carp.addPoint(tabPane.getWidth() - 2 * fila - 1, lines[i + 1] - 3); carp.addPoint(tabPane.getWidth() - 2 * fila - 3, lines[i + 1]); carp.addPoint(0, lines[i + 1]); carp.addPoint(0, lines[i]); g.setColor(hazAlfa(fila + 2)); g.fillPolygon(carp); g.setColor(darkShadow.darker()); g.drawPolygon(carp); } } } super.paintTabArea(g, tabPlacement, selectedIndex); } @Override protected void paintTabBackground(Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected) { Graphics2D g2D = (Graphics2D) g; GradientPaint gradientShadow; int xp[] = null; // Para la forma int yp[] = null; switch (tabPlacement) { case LEFT: xp = new int[]{x, x, x + w, x + w, x}; yp = new int[]{y, y + h - 3, y + h - 3, y, y}; gradientShadow = new GradientPaint(x, y, new Color(100, 100, 255), x, y + h, Color.ORANGE); break; case RIGHT: xp = new int[]{x, x, x + w - 2, x + w - 2, x}; yp = new int[]{y, y + h - 3, y + h - 3, y, y}; gradientShadow = new GradientPaint(x, y, new Color(100, 100, 255), x, y + h, new Color(153, 186, 243)); break; case BOTTOM: xp = new int[]{x, x, x + 3, x + w - inclTab - 6, x + w - inclTab - 2, x + w - inclTab, x + w - 3, x}; yp = new int[]{y, y + h - 3, y + h, y + h, y + h - 1, y + h - 3, y, y}; gradientShadow = new GradientPaint(x, y, new Color(100, 100, 255), x, y + h, Color.BLUE); break; case TOP: default: xp = new int[]{x, x, x + 3, x + w - inclTab - 6, x + w - inclTab - 2, x + w - inclTab, x + w - inclTab, x}; yp = new int[]{y + h, y + 3, y, y, y + 1, y + 3, y + h, y + h}; gradientShadow = new GradientPaint(0, 0, Color.ORANGE, 0, y + h / 2, new Color(240, 255, 210)); break; } // ; shape = new Polygon(xp, yp, xp.length); if (isSelected) { g2D.setColor(selectColor); g2D.setPaint(gradientShadow); } else { if (tabPane.isEnabled() && tabPane.isEnabledAt(tabIndex)) { g2D.setColor(deSelectColor); GradientPaint gradientShadowTmp = new GradientPaint(0, 0, new Color(255, 255, 200), 0, y + h / 2, new Color(240, 255, 210)); g2D.setPaint(gradientShadowTmp); } else { GradientPaint gradientShadowTmp = new GradientPaint(0, 0, new Color(240, 255, 210), 0, y + 15 + h / 2, new Color(204, 204, 204)); g2D.setPaint(gradientShadowTmp); } } //selectColor = new Color(255, 255, 200); //deSelectColor = new Color(240, 255, 210); g2D.fill(shape); if (runCount > 1) { g2D.setColor(hazAlfa(getRunForTab(tabPane.getTabCount(), tabIndex) - 1)); g2D.fill(shape); } g2D.fill(shape); } @Override protected void paintText(Graphics g, int tabPlacement, Font font, FontMetrics metrics, int tabIndex, String title, Rectangle textRect, boolean isSelected) { super.paintText(g, tabPlacement, font, metrics, tabIndex, title, textRect, isSelected); g.setFont(font); View v = getTextViewForTab(tabIndex); if (v != null) { // html v.paint(g, textRect); } else { // plain text int mnemIndex = tabPane.getDisplayedMnemonicIndexAt(tabIndex); if (tabPane.isEnabled() && tabPane.isEnabledAt(tabIndex)) { g.setColor(tabPane.getForegroundAt(tabIndex)); BasicGraphicsUtils.drawStringUnderlineCharAt(g, title, mnemIndex, textRect.x, textRect.y + metrics.getAscent()); } else { // tab disabled g.setColor(Color.BLACK); BasicGraphicsUtils.drawStringUnderlineCharAt(g, title, mnemIndex, textRect.x, textRect.y + metrics.getAscent()); g.setColor(tabPane.getBackgroundAt(tabIndex).darker()); BasicGraphicsUtils.drawStringUnderlineCharAt(g, title, mnemIndex, textRect.x - 1, textRect.y + metrics.getAscent() - 1); } } } /*protected void paintText(Graphics g, int tabPlacement, Font font, FontMetrics metrics, int tabIndex, String title, Rectangle textRect, boolean isSelected) { g.setFont(font); View v = getTextViewForTab(tabIndex); if (v != null) { // html v.paint(g, textRect); } else { // plain text int mnemIndex = tabPane.getDisplayedMnemonicIndexAt(tabIndex); if (tabPane.isEnabled() && tabPane.isEnabledAt(tabIndex)) { Color fg = tabPane.getForegroundAt(tabIndex); if (isSelected && (fg instanceof UIResource)) { Color selectedFG = UIManager.getColor("TabbedPane.selectedForeground"); if (selectedFG != null) { fg = selectedFG; } } g.setColor(fg); SwingUtilities2.drawStringUnderlineCharAt(tabPane, g, title, mnemIndex, textRect.x, textRect.y + metrics.getAscent()); } else { // tab disabled //PAY ATTENTION TO HERE g.setColor(tabPane.getBackgroundAt(tabIndex).brighter()); SwingUtilities2.drawStringUnderlineCharAt(tabPane, g, title, mnemIndex, textRect.x, textRect.y + metrics.getAscent()); g.setColor(tabPane.getBackgroundAt(tabIndex).darker()); SwingUtilities2.drawStringUnderlineCharAt(tabPane, g, title, mnemIndex, textRect.x - 1, textRect.y + metrics.getAscent() - 1); } } }*/ @Override protected int calculateTabWidth(int tabPlacement, int tabIndex, FontMetrics metrics) { return 20 + inclTab + super.calculateTabWidth(tabPlacement, tabIndex, metrics); } @Override protected int calculateTabHeight(int tabPlacement, int tabIndex, int fontHeight) { if (tabPlacement == LEFT || tabPlacement == RIGHT) { return super.calculateTabHeight(tabPlacement, tabIndex, fontHeight); } else { return anchoFocoH + super.calculateTabHeight(tabPlacement, tabIndex, fontHeight); } } @Override protected void paintTabBorder(Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected) { } @Override protected void paintFocusIndicator(Graphics g, int tabPlacement, Rectangle[] rects, int tabIndex, Rectangle iconRect, Rectangle textRect, boolean isSelected) { if (tabPane.hasFocus() && isSelected) { g.setColor(UIManager.getColor("ScrollBar.thumbShadow")); g.drawPolygon(shape); } } protected Color hazAlfa(int fila) { int alfa = 0; if (fila >= 0) { alfa = 50 + (fila > 7 ? 70 : 10 * fila); } return new Color(0, 0, 0, alfa); } } 

यह आकार TabbedPaneUI फलक के यूआई प्रतिनिधि के तत्वावधान में है, जो TabbedPaneUI से उतरता है। MetalTabbedPaneUI उपवर्ग एक ऐसा उदाहरण है जो आपको यह तय करने में मदद कर सकता है कि आप प्रतिनिधि को कितनी बुरी तरह बदलना चाहते हैं।

एचटीएमएल टैग्स को एडटैब पद्धति के पहले पैरामीटर में निम्न के रूप में रख सकते हैं:

MyJTabbedPane.addTab("<html><h1 style='padding:20px;'>TEST</h1></html>", new JPanel());