ReadLine() yöntemiyle seri arabelleği okuyorum. ReadLine() tarafından döndürülen dize, "str1: str2" biçimindedir.Dizeleri java'da biçimlendirme
String1 : string1
SString11 : String2
StringString2 : String23
String4 : String5
Ama
String1 : string1
SString11 : String2
StringString2 : String23
String4 : String5
I altında biçimlendirilmiş çıktı gerekir: while döngüsüne ben böyle tuhaf çıkış almak seri port komutunun bir yanıt kez readline() numarayı kullandığınızda split yöntemini string üzerinde kullandı ve iki dizeyi ':' ile ayırıcı ile ayırdı. Ama şimdi String1'i tüm kolonları hizalamak için boşluklarla eklemem gerekiyor.
Üzgünüm Sorunumu açıklamak garip. Ama eğer problemi anlayan biri, lütfen nasıl yapılacağını önerebilir misiniz?
String.format() kullandım ve çalıştı. Ama başka bir sorun var. Sorun çıktı dizesini bir JTextArea örneğindeyim. Yazı tipini Arial olarak seçtim. Bu String.format gibi yazdırıldığında ("% - 30s:% 30s", temp [0], temp [1]); gibi yazdırılıyor Resim Adı: Temel Linux sabit yazılımı Sürüm: 2.1.1.17 Yukarıdaki iki satırda, Word Image'deki "I" ve Word sürümündeki "V" metin alanında farklı genişliğe sahiptir. Yani 30 karakter dizisi kullanıyorum bile, sütunlar hizalamıyor. Bunun için herhangi bir çözüm var mı? –
java.awt.FontMetrics'e bir göz atın (belki ... bir metin alanının/alanın genişliğini önemsediğimden çok uzun bir zaman geçti :-) – TofuBeer
Kurye gibi bir yazı tipi kullanmanız gerekir. Tüm karakterlerin eşit genişliğe sahip olduğu anlamına gelen 'tek aralıklı' bir yazı tipi. Bu, elbette karakterlerin dizgede hizalanması durumunda, aynı zamanda, çıkışa hizalanacağı anlamına gelir. –